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") } )