- From: Peter F. Patel-Schneider <pfpschneider@gmail.com>
- Date: Wed, 8 Jan 2025 11:50:40 -0500
- To: public-rdf-star-wg@w3.org
I think you need to be more precise in the changes and your judgments. IS(rdfs:Resource) = IR is only true in RDFS interpretations. IS(rdf:Property) = IP is only true in RDF interpretations. peter On 1/8/25 11:35 AM, Franconi Enrico wrote: > Option 1 (the current option) adds metamodelling inference only for asserted > triples.: > > > Option 1 (shallow metamodelling) > > > * ⏩ |<[I+A](r), [I+A](rdf:Proposition)> ∈ IEXT([I+A](rdf:type))| > if |r is a triple term and ∃ x,y . (<x,[I+A](r)> ∈ > IEXT(y)) ⋁ (<[I+A](r),x> ∈ IEXT(y))| > or if |∃ x . <x,[I+A](r)> ∈ IEXT([I+A](rdf:reifies))| ⏪️ > > Note that this is just wrong since in this case we have > [I+A](rdfs:Resource) ≠ IR > [I+A](rdfs:Property) ≠ IP > > > Option 2 (true metamodelling) > > > * ⏩ |<r, [I+A](rdf:Proposition)> ∈ IEXT([I+A](rdf:type))| > if |r ∈ range(RE)| or > if |∃ x,y . RE(x,[I+A](rdf:reifies),r)=y| ⏪️ > * ⏩ |<r, [I+A](rdfs:Resource)> ∈ IEXT([I+A](rdf:type))| > if |r ∈ range(RE)| or > if |∃ x,y,z . RE(x,z,r)=y| or > if |∃ x,y,z . RE(r,z,x)=y| ⏪️ > * ⏩ |<r, [I+A](rdfs:Property)> ∈ IEXT([I+A](rdf:type))| > if |∃ x,y,z . RE(x,r,z)=y| ⏪️ > > Option 2 adds new metamodelling conditions, which implies that > > [I+A](rdfs:Resource) = IR > > [I+A](rdfs:Property) = IP > > as it should. > The entailment pattern for option 2 will have "if the triple structure appears > in S”. > > —e. > >> On 8 Jan 2025, at 17:17, Doerthe Arndt <doerthe.arndt@tu-dresden.de> wrote: >> >> Dear Niklas, >> >>> >>> I think that it should be derived. And I agree that the triple constituents >>> are resources (due to transparency). >>> >>> I believe the following rule does that (given the existing RDF 1.1 entailment): >>> >>> If S contains: >>> >>> sss aaa <<(xxx yyy zzz)>> . >>> >>> or S contains (in symmetric RDF): >>> >>> <<(xxx yyy zzz)>> aaa ooo . >>> >>> then S RDF(1.2)-entails (in symmetric RDF): >>> >>> <<(xxx yyy zzz)>> rdf:type rdf:Proposition . >>> <<(xxx yyy zzz)>> rdf:propositionSubject xxx . >>> <<(xxx yyy zzz)>> rdf:propositionPredicate yyy . >>> <<(xxx yyy zzz)>> rdf:propositionObject zzz . >>> >>> Then define: >>> >>> rdf:propositionPredicate rdfs:range rdf:Property . >>> >>> To make yyy a property. (Which I think makes sense, even though weird >>> triple terms misusing e.g. classes as properties would have weird >>> consequences.) >>> >>> >> >> It is a little bit more complicated because of the nesting. We could have >> >> :a :b <<( :s :p <<( :x :y :z )>> )>>. >> >> we would want to derive that >> >> :y a rdf:Property. >> >> But that could still be done with a detailed version of Enrico’s "triple >> structure appears in“ notation. We could still get your triples. >> >> Another problem I see with your approach here is that we depend on RDFS >> while the properties are already derived in RDF and I assume that we want to >> keep it that way. >> >> Another question is whether or not we want the proposition subject, >> predicate and object, but they could serve the purpose. >> >> Kind regards, >> Dörthe >> >> >> >
Received on Wednesday, 8 January 2025 16:50:46 UTC