* checker typing rules
authorjcheney@inf.ed.ac.uk
Thu, 31 Jan 2013 00:32:32 +0000
changeset 5465 d78ceab9cfd4
parent 5464 8a6fe1b93311
child 5466 468aaaa1fece
* checker typing rules
semantics/checker.pl
--- a/semantics/checker.pl	Thu Jan 31 00:18:53 2013 +0000
+++ b/semantics/checker.pl	Thu Jan 31 00:32:32 2013 +0000
@@ -472,6 +472,26 @@
 	(ensure(typeOf(A,activity)) ;
 	 ensure(typeOf(E,entity)) ).
 
+% Constraint 50.6
+typing_step(I) --> 
+  {member(wasInformedBy(_ID, A2,A1,_Attrs),I)},
+  (ensure(typeOf(A1,activity)) ;
+   ensure(typeOf(A2,activity))).
+
+% Constraint 50.7
+typing_step(I) --> 
+  {member(wasStartedBy(_ID, A2,E,A1,_Attrs),I)},
+  (ensure(typeOf(A1,activity)) ;
+   ensure(typeOf(E,entity)) ;
+   ensure(typeOf(A2,activity))).
+
+% Constraint 50.8
+typing_step(I) --> 
+  {member(wasEndedBy(_ID, A2,E,A1,_Attrs),I)},
+  (ensure(typeOf(A1,activity)) ;
+   ensure(typeOf(E,entity)) ;
+   ensure(typeOf(A2,activity))).
+
 % Constraint 50.9.  
 typing_step(I) -->
 	{member(wasInvalidatedBy(_ID,E,A,_T,_Attrs),I)},
@@ -495,6 +515,12 @@
 	 ensure(typeOf(A,activity)) ).
 
 
+% Constraint 50.12.  
+typing_step(I) -->
+	{member(wasAttributedTo(_ID,E,Ag,_Attrs),I)},
+	(ensure(typeOf(Ag,agent)) ;
+	 ensure(typeOf(E,entity)) ).
+
 
 % Constraint 50.13.
 typing_step(I) -->
@@ -511,6 +537,41 @@
 	(ensure(typeOf(A,activity)) ;
 	 ensure(typeOf(Ag,agent)) ).
 
+% Constraint 50.15.  
+typing_step(I) -->
+	{member(actedOnBehalfOf(_ID,Ag2,Ag1,A,_Attrs),I)},
+	(ensure(typeOf(A,activity)) ;
+	 ensure(typeOf(Ag1,agent)) ;
+	 ensure(typeOf(Ag2,agent)) ).
+
+% Constraint 50.16.  
+typing_step(I) -->
+	{member(alternateOf(E1,E2),I)},
+	(ensure(typeOf(E1,entity)) ;
+	 ensure(typeOf(E2,entity)) ).
+
+% Constraint 50.17
+typing_step(I) -->
+	{member(specializationOf(E1,E2),I)},
+	(ensure(typeOf(E1,entity)) ;
+	 ensure(typeOf(E2,entity)) ).
+
+% Constraint 50.18
+typing_step(I) -->
+	{member(hadMember(C,E),I)},
+	(ensure(typeOf(C,'prov:Collection')) ;
+	 ensure(typeOf(C,'entity')) ;
+	 ensure(typeOf(E,entity)) ).
+
+% Constraint 50.19
+typing_step(I) -->
+	{member(entity(C,Attrs),I),
+	 member('prov:type'='prov:EmptyCollection',Attrs)},
+	(ensure(typeOf(C,'prov:Collection')) ;
+	 ensure(typeOf(C,'entity')) ;
+	 ensure(typeOf(C,'prov:EmptyCollection')) ).
+
+
 
 % TODO: More typing constraints