- From: Evren Sirin <evren@clarkparsia.com>
- Date: Mon, 7 Jan 2013 15:29:35 -0500
- To: Paul Groth <p.t.groth@vu.nl>
- Cc: "public-prov-comments@w3.org" <public-prov-comments@w3.org>
Thanks Paul. This is a minor point but there was one obvious copy/paste error in the OWL encoding examples we sent. The last example should have been: # Inference 20 (specialization-alternate-inference) # IF specializationOf(e1,e2) THEN alternateOf(e1,e2). :specializationOf rdfs:subPropertyOf :alternateOf . And this axiom is actually included in the current PROV-O ontology so it is kind of irrelevant for the point we were making. Best, Evren On Sun, Jan 6, 2013 at 1:51 PM, Paul Groth <p.t.groth@vu.nl> wrote: > Dear Evren, > > First, thanks for deciding to implement PROV. Obviously, we need to discuss > and get back to you about how the group thinks it can best address your > comments. > > In the meantime, I've created an issue to track the discussion. > > https://www.w3.org/2011/prov/track/issues/611 > > We'll get back to you asap. > > Thanks again, > Paul > > P.S. Tracker this is ISSUE-611 > > > > On Fri, Jan 4, 2013 at 6:23 PM, Evren Sirin <evren@clarkparsia.com> wrote: >> >> Hi all, >> >> We are working towards supporting PROV inferences and constraints in >> our RDF database Stardog [1]. Below are some comments about PROV >> specification documents that we identified while working on our >> implementation. >> >> * PROV Constraints >> >> 1. The flow control arrows in Figure 1 seem to be backwards. >> 2. Definition 2.1 seems to be missing the id on the right-hand side. >> 3. Since uniqueness constraints are ‘applied’ and can derive new >> atoms, it is misleading to call them constraints. The same applies to >> typing constraints. >> 4. The definition of enforcement of uniqueness constraints states one >> should apply the resulting substitution to the whole PROV instance. >> However, the scope of the variables is not sets of rules. >> 5. Inference 9 (wasStartedBy-inference) should be: IF >> wasStartedBy(_id; _a,e1,a1,_t,_attrs), THEN there exist _gen and _t1 >> such that wasGeneratedBy(_gen; e1,a1,_t1,[]). >> 6. Inference 10 (wasEndedBy-inference) should be: IF wasEndedBy(_id; >> _a,e1,a1,_t,_attrs), THEN there exist _gen and _t1 such that >> wasGeneratedBy(_gen; e1,a1,_t1,[]). >> 7. Inference 15.4 should be: IF wasStartedBy(id; a2,e,_a1,_t,attrs) >> THEN wasInfluencedBy(id; a2, e, attrs). >> 8. Inference 15.7 should be: IF wasDerivedFrom(id; e2, e1, _a, _g, _u, >> attrs) THEN wasInfluencedBy(id; e2, e1, attrs). >> 9. Constraint 56 should be: IF hadMember(c,e) and >> 'prov:EmptyCollection' ∈ typeOf(c) THEN INVALID. >> >> * PROV-O >> >> PROV Ontology contains several axioms for inferencing but it does not >> cover all the inferences described in the PROV constraints document >> even though these inferences can be encoded in OWL in a >> straightforward way. We think these inferences are useful not just for >> validation but also for querying PROV documents. For this reason, we >> believe these inferences should be included in PROV-O. >> >> Here are some example OWL axioms encoding some of the inferences from >> PROV constraints document: >> >> # Inference 16 (alternate-reflexive) >> # IF entity(e) THEN alternateOf(e,e). >> >> :Entity >> rdfs:subClassOf [ >> a owl:Restriction ; >> owl:hasSelf true ; >> owl:onProperty :alternateOf >> ] . >> >> # Inference 17 (alternate-transitive) >> # IF alternateOf(e1,e2) and alternateOf(e2,e3) THEN alternateOf(e1,e3). >> >> :alternateOf a owl:TransitiveProperty . >> >> # Inference 18 (alternate-symmetric) >> # IF alternateOf(e1,e2) THEN alternateOf(e2,e1). >> >> :alternateOf a owl:SymmetricProperty . >> >> # Inference 19 (specialization-transitive) >> # IF specializationOf(e1,e2) and specializationOf(e2,e3) THEN >> specializationOf(e1,e3). >> >> :specializationOf a owl:TransitiveProperty . >> >> # Inference 20 (specialization-alternate-inference) >> # IF specializationOf(e1,e2) THEN alternateOf(e1,e2). >> >> :specializationOf rdfs:subPropertyOf owl:TransitiveProperty . >> >> * PROV-CONSTRAINTS Test Cases >> >> We appreciate as implementers the PROV-Constraints test suite. We >> would like to see test suites for the other operational parts of PROV, >> in particular for testing inferences separate from validation. This >> request arises from our general belief that interoperability with a >> formal spec is typically less high than interoperability with a formal >> spec *and* an executable test suite. Test suites are invaluable for >> implementations. Further, while we would like to see the test suites >> be made normative parts of PROV (since that gives a nice algorithm for >> resolving disagreements between spec test and test suite (i.e., tie >> goes to the test suite)), we would prefer non-normative test suites to >> no test suites at all. >> >> We identified the following issues in the following RDF test cases: >> >> * prov-o-class-Invalidation-PASS.ttl: At line 37, there are repeated >> semi-colons ‘;;’ which is invalid according to the Turtle grammar >> (neither [2] nor [3] seems to allow this). >> * prov-o-class-Collection-PASS.ttl: Invalid xsd:dateTime literals >> missing minutes and timezone identifier. >> * prov-o-property-hadMember-PASS.ttl: Invalid xsd:dateTime literals >> missing minutes and timezone identifier. >> * ordering-association2-PASS-c47.ttl: This test is marked PASS but it >> is inconsistent because the individual ex:ag is an instance of >> disjoint classes prov:Entity and prov:Activity. >> * prov-o-property-qualifiedCommunication-PASS.ttl: This test is marked >> PASS but it is inconsistent because the individual >> :writing-celebrity-gossip is an instance of prov:Activity but uses the >> property prov:wasAttributedTo whose domain is the disjoint class >> prov:Entity. Same argument is also true for the individual >> :voicemail-interception. >> * prov-o-property-qualifiedRevision-PASS.ttl: This test is marked PASS >> but it is inconsistent because the individual :draft2 is an instance >> of prov:Entity but uses the property prov:wasAssociatedWith whose >> domain is the disjoint class prov:Activity. >> >> We think following tests should not have been included in >> rdf-tests.txt because the invalid PROV-N constructs cannot be >> expressed in RDF and thus their RDF representation is valid: >> unification-association-f4-FAIL-c23.ttl >> unification-association-f5-FAIL-c23.ttl >> unification-derivation-f1-FAIL-c23.ttl >> unification-derivation-f2-FAIL-c23.ttl >> unification-derivation-f3-FAIL-c23.ttl >> unification-derivation-f4-FAIL-c23.ttl >> >> Best, >> Evren >> >> [1] http://stardog.com/ >> [2] http://www.w3.org/TeamSubmission/turtle/#sec-grammar >> [3] http://www.w3.org/TR/turtle/#sec-grammar >> >> >> -- >> Evren Sirin >> CTO >> Clark & Parsia, LLC >> http://clarkparsia.org >> > > > > -- > -- > Dr. Paul Groth (p.t.groth@vu.nl) > http://www.few.vu.nl/~pgroth/ > Assistant Professor > - Knowledge Representation & Reasoning Group | > Artificial Intelligence Section | Department of Computer Science > - The Network Institute > VU University Amsterdam
Received on Monday, 7 January 2013 20:30:22 UTC