--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/model/container3.prov Wed Oct 05 12:38:08 2011 +0100
@@ -0,0 +1,90 @@
+
+; An example of container,
+; - declaring three namespaces with prefix x, viz, prov
+; - two nested accounts
+; - some identifiers (urn:demo:0, urn:demo:100) declared in the toplevel account (acc1)
+; and reusable in the innermost account
+;
+; The example shows illustrations of prov attributes and application
+; specific attributes, and application specific annotations.
+
+; identifiers in this example follow the URN syntax with "demo" namespace
+
+container([x http://x.com/,
+ prov: http://w3.org/prov/,
+ viz: http://viz.com/,
+ ],
+ [http://x.com/acc1, http://x.com/acc2]
+ ,
+ account(http://x.com/acc1,
+ http://x.com/asserter1,
+ entity(urn:demo:0, [ prov:type="File", prov:location="/shared/crime.txt", x:creator="Alice" ])
+ processExecution(urn:demo:100,http://myapp/create-file,t,,[])
+ wasGeneratedBy(urn:demo:0, urn:demo:100, qualifier())
+
+ account(http://x.com/acc2,
+ http://x.com/asserter1,
+
+ entity(urn:demo:1, [ prov:type="File", prov:location="/shared/crime.txt", x:creator="Alice", x:content="" ])
+ entity(urn:demo:2, [ prov:type="File", prov:location="/shared/crime.txt", x:creator="Alice", x:content="There was a lot of crime in London last month."])
+ entity(urn:demo:3, [ prov:type="File", prov:location="/shared/crime.txt", x:creator="Alice", x:content="There was a lot of crime in London and New York last month."])
+ entity(urn:demo:4, [ ])
+ entity(urn:demo:5, [ ])
+ entity(urn:demo:6, [ prov:type="File", prov:location="/shared/crime.txt", x:creator="Alice", x:content="There was a lot of crime in London and New York last month.", x:spellchecked="yes"])
+
+
+ processExecution(urn:demo:101,http://myapp/add-crime-in-london,t+1,,[])
+ processExecution(urn:demo:102,http://myapp/email,t+2,,[])
+ processExecution(urn:demo:103,http://myapp/edit-London-New-York,t+3,,[])
+ processExecution(urn:demo:104,http://myapp/email,t+4,,[])
+ processExecution(urn:demo:105,http://myapp/spellcheck,,,[])
+
+ wasGeneratedBy(urn:demo:1, urn:demo:100, qualifier(x:fct="create"))
+ wasGeneratedBy(urn:demo:2, urn:demo:101, qualifier(x:fct="save"))
+ wasGeneratedBy(urn:demo:3, urn:demo:103, qualifier(x:fct="save"))
+ wasGeneratedBy(urn:demo:4, urn:demo:102, qualifier(x:port="smtp", x:section="attachment"))
+ wasGeneratedBy(urn:demo:5, urn:demo:104, qualifier(x:port="smtp", x:section="attachment"))
+ wasGeneratedBy(urn:demo:6, urn:demo:105, qualifier(x:file="stdout"))
+
+ used(urn:demo:101,urn:demo:1,qualifier(x:fct="load"))
+ used(urn:demo:103,urn:demo:2,qualifier(x:fct="load"))
+ used(urn:demo:102,urn:demo:2,qualifier(x:fct="attach"))
+ used(urn:demo:104,urn:demo:3,qualifier(x:fct="attach"))
+ used(urn:demo:105,urn:demo:3,qualifier(x:file="stdin"))
+
+ wasDerivedFrom(urn:demo:2,urn:demo:1)
+ wasDerivedFrom(urn:demo:3,urn:demo:2)
+ wasDerivedFrom(urn:demo:4,urn:demo:2,urn:demo:102,qualifier(x:port=smtp, x:section="attachment"),qualifier(x:fct="attach"))
+ wasDerivedFrom(urn:demo:5,urn:demo:3,urn:demo:104,qualifier(x:port=smtp, x:section="attachment"),qualifier(x:fct="attach"))
+
+ wasComplementOf(urn:demo:1,urn:demo:0)
+ wasComplementOf(urn:demo:2,urn:demo:0)
+ wasComplementOf(urn:demo:3,urn:demo:0)
+ wasComplementOf(urn:demo:6,urn:demo:3)
+
+
+ entity(urn:demo:201, [ prov:type="Person", x:name="Alice" ])
+ agent(urn:demo:201)
+
+ entity(urn:demo:202, [ prov:type="Person", x:name="Bob" ])
+ agent(urn:demo:202)
+
+ entity(urn:demo:203, [ prov:type="Person", x:name="Charles" ])
+ agent(urn:demo:203)
+
+ entity(urn:demo:204, [ prov:type="Person", x:name="David" ])
+ agent(urn:demo:204)
+
+ entity(urn:demo:205, [ prov:type="Person", x:name="Edith" ])
+ agent(urn:demo:205)
+
+ annotation(urn:demo:301,[viz:icon="person.png"])
+ hasAnnotation(urn:demo:201,urn:demo:301)
+ hasAnnotation(urn:demo:202,urn:demo:301)
+ hasAnnotation(urn:demo:203,urn:demo:301)
+ hasAnnotation(urn:demo:204,urn:demo:301)
+ hasAnnotation(urn:demo:205,urn:demo:301)
+ )
+ ))
+
+