--- 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