- From: Sandro Hawke <sandro@w3.org>
- Date: Mon, 17 Dec 2018 10:30:29 -0500
- To: "Ruben Verborgh (UGent-imec)" <Ruben.Verborgh@UGent.be>
- Cc: "public-n3-dev@w3.org" <public-n3-dev@w3.org>, Gregg Kellogg <gregg@greggkellogg.net>
On 12/16/18 5:43 PM, Ruben Verborgh (UGent-imec) wrote:
> 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.
>
Right. To be clear, this isn't about TriG, it's about RDF Datasets, aka
Named Graphs, which are also used in SPARQL, JSON-LD, and N-Quads.
I've now written this up as an issue on the new repo:
https://github.com/w3c/N3/issues/1
In writing it up, I thought through the issue some more and changed my
mind several times, but I came to a fairly firm conclusion, for myself.
I'll be interested to hear where other people land.
-- Sandro
Received on Monday, 17 December 2018 15:30:31 UTC