Re: owl:sameAs/referential opacity Re: Can RDFstar be defined as only syntactic sugar on top of RDF (Re: weakness of embedded triples)

On 17/11/2020 23:18, thomas lörtsch wrote:

> Just a quick check:
>> On 17. Nov 2020, at 18:11, Pierre-Antoine Champin <> 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
>>  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).

>> 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

Received on Wednesday, 18 November 2020 14:07:30 UTC