From Provenance WG Wiki
Complementarity Use Cases
There appears to be consensus that "'viewOf'" is useful, intuitive and easy to grasp. We need a precise definition though. To me, it must be in terms of attribute sets -- it's the only characterization we have. So "e1 viewOf e2" means that the attributes of e1 are a subset of those of e2, in the intersection of the validity intervals of e1 and e2. But note that this is exactly the "asymmetric" case of wasComplementOf in the current def.
Tim proposes that " One could then infer complementarity based on the fact that they are views of the same thing ". This is fine, but then I would argue that this notion is inherently symmetric. Tim would you agree?
So in the end I propose that we define both a asymmetric viewOf and a symmetric complementOf with the entailment:
e1 viewOf e && e2 viewOf e => e1 complementOf e2, e2 complementOf e1
is that acceptable?
An alternative proposal (stephen)
As discussed on telcon 8/12/2011 - and in line with GK's and Tim's examples below.
A form of A viewOf B can be defined (w/o using attributes) as:
- time interval of entity A is within time interval of entity B, and
- Entities A and B both describe the same real-world thing.
This relation is transitive and antisymmetric. It is possible to use viewOf to express two different symmetric forms of complementOf. Sorry, I have made up temporary names for them (complementOf name must surely go eventually - it cannot co-exist peacefully with owl:complementOf).
Symmetric complementOf (SCO)
A sco B if
- time intervals of entity A and entity B overlap and
- entities A and B both describe the same real-world thing.
This can be expressed with viewOf by using an entity C to represent the temporal intersection of A and B.
(exists C . C viewOf A & C viewOf B) => A sco B & B sco A
Weak symmetric complementOf (WSCO)
A wsco B if
- entities A and B both describe the same real-world thing, with no temporal constraints between them.
This can be expressed with viewOf by using an entity C to represent a generalised view of the thing which of A and B both describe.
(exists C . A viewOf C & B viewOf C) => A wsco B & B wsco A
(Same as defn. in Paolo/Luc proposal above - but this viewOf is different)
By expressing these relations using viewOf, it is also possible to generalise to express n-ary versions of sco and wsco.
"viewOf" as the fundemental underpinning relation (GK)
For me, the relationship I call "viewOf, where "A viewOf B" means that A is a constrained view or version of B (e.g. "Luc in Boston" is a constrained view of "Luc"), is the fundamental underpinning on which other kinds of complementarity may be built.
As a notion, "viewOf" is quite easy to understand (if not describe), and is the basic idea which explains relationships between Resources/Entities which allows us to make provenance statements with enduring truth, hence tractability for analysis.
"Weather in London on Thursday" is a view of "Weather in London", where we might assign specific provenance to the former but not necessarily the latter.
"viewOf" as an orthogonal dimension of derivation (Tim)
An Entity's abstractive associations are orthogonal to its derivative associations. Continuing the Luc example, "Luc in Boston" is a more concrete (i.e., invariant) entity than "Luc". "Luc in Southhampton" is also more concrete than "Luc". These associations exist along an abstraction axis, and can also be associated along an orthogonal derivation axis. For example, we could derive Southhampton Luc from Boston Luc by flying him across the Atlantic.
:luc_in_boston a prov:Entity; prov:viewOf <http://data.semanticweb.org/person/luc-moreau>; foaf:based_near <http://dbpedia.org/resource/Boston>; . :flight_home a prov:Activity, :Flight; foaf:based_near <http://dbpedia.org/resource/Atlantic_Ocean>; prov:used :luc_in_boston; prov:generated :luc_in_southhampton; . :luc_in_southhampton a prov:Entity; prov:viewOf <http://data.semanticweb.org/person/luc-moreau>; foaf:based_near <http://dbpedia.org/resource/Southhampton>; . <http://dbpedia.org/resource/Boston> foaf:based_near <http://dbpedia.org/resource/Atlantic_Ocean>; # This, along with some axioms, would make a contradiction # if someone is foaf:based_near both at the same time. :no_where_near <http://dbpedia.org/resource/Southhampton>; . <http://dbpedia.org/resource/Southhampton> foaf:based_near <http://dbpedia.org/resource/Atlantic_Ocean>; .
Question (GK): what is "viewOf" here orthogonal to? Answer (Tim): derivation.
One could then infer complementarity based on the fact that they are views of the same thing (e.g., Luc):
:luc_in_boston prov:wasComplementOf :luc_in_southhampton
The problem with relying on complementarity as a primary relationship is that we never know what a particular entity (or set of complementary entities) is a view of.
Adding an extra level of abstraction
Let's add some detail about Atlantic Ocean when Luc flew across on that day.
:weird_flight_home a prov:Activity; foaf:based_near :pink_atlantic; prov:used :luc_in_boston; prov:generated :luc_in_southhampton; . :pink_atlantic prov:viewOf <http://dbpedia.org/resource/Atlantic_Ocean>; :color :pink; :date "2011-12-01T12:28:27-05:00"^^xsd:dateTime; .
Quoting a web page (Tim)
http://dvcs.w3.org/hg/prov/file/157c4ac99ff5/ontology/components/wasInformedBy.ttl asserts provenance about the string The relationship wasInformedBy is not transitive being taking from a view of the web page http://dvcs.w3.org/hg/prov/raw-file/default/model/ProvenanceModel.html#record-OrderingOfActivities. You may not find that quote on the web page today, because you are looking at a different view.
Two Online Accounts held by the same Person (Tim)
Already described at http://www.w3.org/2011/prov/wiki/PROV_OWL_ontology_component_examples#Two_Online_Accounts_held_by_the_same_Person (read prov:characterized as prov:viewOf)
Purchasing a car (prov-wg, encoded in PROV-O by Tim)
State changes and relating entities at different timescales (stephen)
We can use entities to represent different states of the same thing, and to represent the same thing at different timescales. In order to usefully assert the relationships between such entities, we need something like viewOf, as the current wasComplementOf relation is too vague. For example, we may have entities to represent Luc in different time intervals:
It would be useful to be able to assert viewOf relations (shown as solid lines below) and infer further viewOf relations through transitivity (shown as dashed lines). Unlike wasComplementOf, viewOf should be transitive and antisymmetric.