--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/examples/eg-25-had-quoter/document/homepage Fri Apr 20 01:05:25 2012 +0100
@@ -0,0 +1,2 @@
+http://www.w3.org/2011/prov/wiki/Eg-25-had-quoter
+http://dvcs.w3.org/hg/prov/file/tip/examples/eg-25-had-quoter
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/examples/eg-25-had-quoter/rdf/eg-25-had-quoter-roles.ttl Fri Apr 20 01:05:25 2012 +0100
@@ -0,0 +1,72 @@
+@prefix ex: <http://www.example.org/> .
+@prefix prov: <http://www.w3.org/ns/prov-o/> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#"> .
+
+<> rdfs:comment """Variant of eg-25-had-quoter-was-attributed-to.ttl
+ using roles"""@en ;
+ prov:wasDerivedFrom <eg-25-had-quoter-was-attributed-to.ttl> .
+
+#entity(ex:blogpost)
+ex:blogpost a prov:Entity .
+
+#agent(ex:Luc)
+ex:Luc a prov:Agent .
+
+#agent(ex:Paul)
+ex:Paul a prov:Agent .
+
+#wasQuotedFrom(ex:paragraph, ex:blogpost,ex:Luc,ex:Paul)
+ex:paragraph a prov:Entity ;
+ prov:wasQuotedFrom ex:blogpost ;
+ prov:wasAttributedTo ex:Luc ;
+ prov:qualifiedAttribution [ a prov:Attribution ;
+ # Assuming there can only be one quotation per entity?
+ prov:agent ex:Luc ;
+ prov:role ex:Quoter .
+ ] .
+
+ex:blogpost prov:wasAttributedTo ex:Paul ;
+ prov:qualifiedAttribution [ a prov:Attribution ;
+ # A bit odd - he was not Quoted when making ex:blogpost,
+ # but later
+ prov:agent ex:Paul ;
+ prov:role ex:Quoted .
+ ] .
+
+
+# The blogpost contains a photo by someone else
+ex:somePhotographer a prov:Agent ;
+ owl:differentFrom ex:Paul .
+
+ex:blogpost prov:wasAttributedTo ex:somePhotographer .
+# Fine - not as ex:Quoted role
+
+
+# Paolo made the paragraph appear in italics
+ex:Paolo a prov:Agent .
+ex:paragraph prov:wasAttributedTo ex:Paolo .
+# but not in ex:Quoter role
+
+
+# But what if someone quotes the picture?
+#https://twitter.com/#!/soilandreyes/status/193127219894296576
+ex:tweet a prov:Entity ;
+ rdf:value "@pgroth at the Principles of Provenance workshop http://t.co/G7nX3EGb" ;
+ prov:wasQuotedFrom ex:blogpost ;
+ prov:wasAttributedTo ex:Stian ;
+ prov:qualifiedAttribution [ a prov:Attribution ;
+ # Assuming there can only be one quotation per entity?
+ prov:agent ex:Stian ;
+ prov:role ex:Quoter .
+ ] .
+
+# Uh oh... now we have a second ex:Quoted
+ex:blogpost prov:wasAttributedTo ex:Paul ;
+ prov:qualifiedAttribution [ a prov:Attribution ;
+ prov:agent ex:somePhotographer ;
+ prov:role ex:Quoted .
+ ] .
+
+# But we don't know if it is related to ex:tweet or ex:blogpost
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/examples/eg-25-had-quoter/rdf/eg-25-had-quoter-was-attributed-to.ttl Fri Apr 20 01:05:25 2012 +0100
@@ -0,0 +1,55 @@
+@prefix ex: <http://www.example.org/> .
+@prefix prov: <http://www.w3.org/ns/prov-o/> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<> rdfs:comment """Variant of eg-25-had-quoter.ttl without
+ prov:hadQuoter/prov:hadQuoted"""@en ;
+ prov:wasDerivedFrom <eg-25-had-quoter.ttl> .
+
+
+#entity(ex:blogpost)
+ex:blogpost a prov:Entity .
+
+#agent(ex:Luc)
+ex:Luc a prov:Agent .
+
+#agent(ex:Paul)
+ex:Paul a prov:Agent .
+
+#wasQuotedFrom(ex:paragraph, ex:blogpost,ex:Luc,ex:Paul)
+ex:paragraph a prov:Entity ;
+ prov:wasQuotedFrom ex:blogpost ;
+ prov:wasAttributedTo ex:Luc .
+
+ex:blogpost prov:wasAttributedTo ex:Paul .
+
+# by inference quotation-implication
+ex:paragraph prov:wasDerivedFrom ex:blogpost .
+
+
+
+# However, there might be additional agents which were not responsible for the
+# quotation, but which the entities are attributed to as well
+
+# The blogpost contains a photo by someone else
+ex:somePhotographer a prov:Agent ;
+ owl:differentFrom ex:Paul .
+
+ex:blogpost prov:wasAttributedTo ex:somePhotographer .
+
+# Paolo made the paragraph appear in italics
+ex:Paolo a prov:Agent .
+ex:paragraph prov:wasAttributedTo ex:Paolo .
+
+
+# Here we can't go fully back to wasQuotedFrom in PROV-N as we don't know which
+# agent performed the quotation or was attributed to the (part of) the entity
+# that we quoted. So we can only say:
+
+# wasQuotedFrom(ex:paragraph, ex:blogpost)
+
+# From this argument, wasQuotedFrom should not have the agent parameters in
+# PROV-DM. However, saying that *you* quoted *someone* saying *something*
+# are common attributes of quotation in everyday use.
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/examples/eg-25-had-quoter/rdf/eg-25-had-quoter.ttl Fri Apr 20 01:05:25 2012 +0100
@@ -0,0 +1,57 @@
+@prefix ex: <http://www.example.org/> .
+@prefix prov: <http://www.w3.org/ns/prov-o/> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+
+
+<> rdfs:comment """Adapted from wasQuotedFrom section in PROV-DM"""@en ;
+ prov:wasDerivedFrom <https://dvcs.w3.org/hg/prov/raw-file/971034e4052c/model/prov-dm.html#dfn-wasquotedfrom> ;
+ rdfs:seeAlso <https://www.w3.org/2011/prov/track/issues/356> .
+
+
+#entity(wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/)
+# (but we'll use shorter names here)
+ex:blogpost a prov:Entity .
+
+#agent(ex:Luc)
+ex:Luc a prov:Agent .
+
+#agent(ex:Paul)
+ex:Paul a prov:Agent .
+
+#wasQuotedFrom(dm:bl-dagstuhl,wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop/,ex:Luc,ex:Paul)
+ex:paragraph a prov:Entity ;
+ prov:wasQuotedFrom ex:blogpost ;
+ prov:qualifiedQuotation ex:paragraphQuotation .
+
+ex:paragraphQuotation a prov:Quotation ;
+ prov:entity ex:blogpost ;
+ prov:hadQuoter ex:Luc ;
+ prov:hadQuoted ex:Paul .
+
+# by inference quotation-implication
+ex:paragraph prov:wasDerivedFrom ex:blogpost ;
+ prov:wasAttributedTo ex:Luc .
+ex:blogpost prov:wasAttributedTo ex:Paul .
+
+
+
+# However, there might be additional agents which were not involved in the
+# quotation, but which the entities are still attributed to
+
+# The blogpost contains a photo by someone else
+ex:somePhotographer a prov:Agent ;
+ owl:differentFrom ex:Paul .
+
+ex:blogpost prov:wasAttributedTo ex:somePhotographer .
+
+# Paolo made the paragraph appear in italics
+ex:Paolo a prov:Agent .
+ex:paragraph prov:wasAttributedTo ex:Paolo .
+
+# However this does not imply
+##ex:paragraphQuotation prov:hadQuoter ex:Paolo ;
+## prov:hadQuoted ex:somePhotographer .
+
+
+## Therefore it would be loss of information if prov:Quotation
+## did not have prov:hadQuoter or prov:hadQuoted.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/examples/eg-25-had-quoter/rdf/eg-25-had-quoter.ttl.sd_name Fri Apr 20 01:05:25 2012 +0100
@@ -0,0 +1,1 @@
+http://dvcs.w3.org/hg/prov/raw-file/tip/examples/eg-25-had-quoter/rdf/eg-25-had-quoter.ttl