- 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