--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/model/container-example.txt Wed Aug 24 21:22:06 2011 +0100
@@ -0,0 +1,77 @@
+
+provenanceContainer(id, ;;; <- container identifier (global scope?)
+
+
+
+ hasProvenance: {
+ bob(id, [ type:"ProvenanceContainer" ]) ;;; <- container seen as a bob
+ isGeneratedBy(id,p,out)
+ processExecution(p,assert,"07-28-2011:10.38am") ;;; <- time of assertion
+
+ bob(ag_luc, [ type: "Person", name: "Luc" ]) ;;; <- luc is an agent
+ agent(ag_luc)
+ isControlledBy(p,ag_luc,"asserter") ;;; <- luc is the asserter
+ }
+
+
+ statements: {
+
+ bob(e0, [ type: "File", location: "/shared/crime.txt", creator: "Alice" ])
+ bob(e1, [ type: "File", location: "/shared/crime.txt", creator: "Alice", content: "" ])
+ bob(e2, [ type: "File", location: "/shared/crime.txt", creator: "Alice", content: "There was a lot of crime in London last month."])
+ bob(e3, [ type: "File", location: "/shared/crime.txt", creator: "Alice", content: "There was a lot of crime in London and New York last month."])
+ bob(e4)
+ bob(e5)
+ bob(e6, [ type: "File", location: "/shared/crime.txt", creator: "Alice", content: "There was a lot of crime in London and New York last month.", disclaimer: "some text" ])
+
+
+ isDerivedFrom(e2,e1)
+ isDerivedFrom(e3,e2)
+ isDerivedFrom(e4,e2)
+ isDerivedFrom(e5,e3)
+
+ isGeneratedBy(e0,pe0,out)
+ isGeneratedBy(e1,pe0,out)
+ isGeneratedBy(e2,pe1,out)
+ isGeneratedBy(e3,pe3,out)
+ isGeneratedBy(e4,pe2,out)
+ isGeneratedBy(e5,pe4,out)
+
+ uses(pe1,e1,in)
+ uses(pe3,e2,in)
+ uses(pe2,e2,in)
+ uses(pe4,e3,in)
+
+ processExecution(pe0,create-file,t)
+ processExecution(pe1,add-crime-in-london,t+1)
+ processExecution(pe2,copy,t+2)
+ processExecution(pe3,edit-London-New-York,t+3)
+ processExecution(pe4,copy,t+4)
+
+ ivpOf(e1,e0)
+ ivpOf(e2,e0)
+ ivpOf(e3,e0)
+ ivpOf(e6,e3)
+
+ bob(ag_al, [ type: "Person", name: "Alice" ])
+ agent(ag_al)
+ bob(ag_bo, [ type: "Person", name: "Bob" ])
+ agent(ag_bo)
+ bob(ag_ch, [ type: "Person", name: "Charles" ])
+ agent(ag_ch)
+ bob(ag_da, [ type: "Person", name: "David" ])
+ agent(ag_da)
+ bob(ag_ed, [ type: "Person", name: "Edith" ])
+ agent(ag_ed)
+ isControlledBy(pe0,ag_al,"creator")
+ isControlledBy(pe1,ag_bo,"author")
+ isControlledBy(pe2,ag_ch, "communicator")
+ isControlledBy(pe3,ag_da,"author")
+ isControlledBy(pe4,ag_ed, "communicator")
+
+
+ }
+
+)
+
+