- From: Ruben Verborgh (UGent-imec) <Ruben.Verborgh@UGent.be>
- Date: Sun, 16 Dec 2018 22:43:12 +0000
- To: Sandro Hawke <sandro@w3.org>
- CC: "public-n3-dev@w3.org" <public-n3-dev@w3.org>, Gregg Kellogg <gregg@greggkellogg.net>
On 12 Dec 2018, at 00:34, Sandro Hawke <sandro@w3.org> wrote:
>
>> _:g1 { _:x :wrote _:y. _:y log:includes _:g2 . _:x :livesIn _:z}
>> _:g2 {_:z :weather _:w}
>> _:g3 {<Boston> :weather _:y}
>> _:g1 log:implies _:g3 .
>>
>
> Yes, I'm still quite grumpy we didn't include this. It's trivial syntactic sugar, and would have made generalized Trig a superset of N3 at the syntactic level, or very close to it.
The above is how I represent parsed N3 graphs in my N3.js library.
There’s one very awkward detail to it though:
in TriG, there is no guarantee that _:g1 as a graph label
and _:g1 as the label of a subject are pointing to the same thing.
I know you explicitly wrote “syntactic level”,
but the lack of such semantics is a problem,
because there is no way that I can state
“the graph _:g1 and the subject _:g1 are the same thing”,
since I cannot refer to "the graph _:g1” in subject position.
The only way I can think of to fix this,
is to start a document with a triple such as
<> ex:graphLabelsSameAsEntityLabels true.
but that is not very convenient either.
Best,
Ruben
Received on Sunday, 16 December 2018 22:43:38 UTC