- From: Doerthe Arndt <doerthe.arndt@tu-dresden.de>
- Date: Wed, 8 Jan 2025 16:42:07 +0000
- To: Niklas Lindström <lindstream@gmail.com>
- CC: Pierre-Antoine Champin <pierre-antoine@w3.org>, Franconi Enrico <franconi@inf.unibz.it>, RDF-star Working Group <public-rdf-star-wg@w3.org>
- Message-ID: <5F031B34-9EE6-4F2A-9E04-9C7642E814EB@tu-dresden.de>
> Am 08.01.2025 um 17:39 schrieb Niklas Lindström <lindstream@gmail.com>: > > Dear Dörthe, > > On Wed, Jan 8, 2025 at 5:17 PM Doerthe Arndt <doerthe.arndt@tu-dresden.de <mailto: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 if: > > :a :b <<( :s :p <<( :x :y :z )>> )>> . > > entails: > > <<( :s :p <<( :x :y :z )>> )>> rdf:propositionSubject :s . > <<( :s :p <<( :x :y :z )>> )>> rdf:propositionPredicate :p . > <<( :s :p <<( :x :y :z )>> )>> rdf:propositionObject <<( :x :y :z )>> . > > Then from: > > <<( :s :p <<( :x :y :z )>> )>> rdf:propositionObject <<( :x :y :z )>> . > > we get: > > <<( :x :y :z )>> rdf:propositionSubject :x . > <<( :x :y :z )>> rdf:propositionPredicate :y . > <<( :x :y :z )>> rdf:propositionObject :z . > > And given the range of propositionPredicate, we get that :y a rdf:Property . I see. Sorry for doubting your solution :) Dörthe > >> 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. > > This might warrant some more debate. > >> Another question is whether or not we want the proposition subject, predicate and object, but they could serve the purpose. > > To be transparent, I have my motivations [1]. ;) > > All the best, > Niklas > > [1]: <https://github.com/w3c/rdf-semantics/issues/49> > > >> Kind regards, >> Dörthe >> >> >> >> >>
Received on Wednesday, 8 January 2025 16:42:15 UTC