- From: Pierre-Antoine Champin <pierre-antoine.champin@ercim.eu>
- Date: Thu, 19 Nov 2020 16:12:56 +0100
- To: thomas lörtsch <tl@rat.io>
- Cc: public-rdf-star@w3.org
- Message-ID: <6522d956-c349-56b0-2443-edd8ce00018d@ercim.eu>
On 19/11/2020 12:41, thomas lörtsch wrote: >> On 18. Nov 2020, at 15:07, Pierre-Antoine Champin <pierre-antoine.champin@ercim.eu> wrote: >> >> On 17/11/2020 23:18, thomas lörtsch wrote: >> >>> Just a quick check: >>> >>>> On 17. Nov 2020, at 18:11, Pierre-Antoine Champin <pierre-antoine.champin@ercim.eu> wrote: >>> […] >>> >>>>> + >>>>> >>>>> Both "modes" used side by side would solve this problem: >>>>> >>>>> << :a :b :c >> :denies :d . >>>>> :a :b :c {| :exclaims :e |} >>>>> >>>> No, because his concrete syntax would produce exactly the same abstract syntax as your previous example -- at least in my understanding, but I trust that Olaf would agree (see https://github.com/w3c/rdf-star/issues/9#issuecomment-708608422). >>>> >>>> From the very beginning, embedded triples in RDF* are totally identified by their subject+predicate+object, there is now way to distinguish different mentions (tokens) of the same triple. >>> You mean >>>>> :a :b :c {| :d :e |} >>> is meant to annotate all triple tokens of type >>> :a :b :c . >>> everywhere, anywhere? >> As Peter pointed out in his reply, RDF* does not have any notion of "triple token", only that of "triple type" (so to speak). >> >> So the example above is not "meant to annotate all triple tokens", but meant to annotate this one triple (type). > This answer doesn’t help me as in my terminology "triple" and "triple (type)" refer to very different things. Yes, that's why I put "type" in parenthesis. > Let’s try another terminology: types of triples versus occurrences of triples. A triple of type > :a :b :c . > can occurr in different graphs. Graphs are defined as sets of triples and therefor any triple can occurr only once per graph. Yes. > Imagine the following RDF* graph, consisting of only one annotated statement: > > :a :b :c {| :d :e |} > > Does the annotation ':d :e' annotate > 1) that specific occurrence of ':a :b :c' in the same graph or > 2) some occurrence of ':a :b :c' but it doesn’t define which or > 3) any occurrence of ':a :b :c' in all graphs ? > > I assume it’s option 2 but I’m not sure. For me the answer is: 4) it annotates the triple type itself And annotating the type is not the same thing as annotating one or several occurrences -- just like annotating a set is not the same as annotating one or several of its elements... > > Thomas > > >>>> As I understand, this was a deliberate design choice. >>> And with what rationale? >> I can't talk for Olaf. My guess is that it was deemed simpler, and sufficient for most use cases. >> >> Maybe also it was considered as the less disruptive change to RDF. Consider the following Turtle: >> >> :a :b :c, :x. >> :a :b :c, :y. >> >> The two occurrences of ":a :b :c" in that concrete syntax are "squashed" into the same triple in the abstract syntax. RDF itself does not distinguish different tokens of the same triple. Why should RDF*? >> >> Finally, if you want to track different "utterances" of the same triple, nothing prevents you to write >> >> :a :b :c {| >> :utterance [ :by :alice; :on "2020-11-10" ], >> [ :by :bob; :on "2020-11-13" ] >> |} >> >>> >>> Thomas >> <OpenPGP_0x9D1EDAEEEF98D438.asc>
Attachments
- application/pgp-keys attachment: OpenPGP_0x9D1EDAEEEF98D438.asc
Received on Thursday, 19 November 2020 15:13:02 UTC