Open william-vw opened 1 year ago
@VladimirAlexiev This ties into an older discussion on "fitting" N3 into RDF stores. The relevant issue was closed back in the day since there wasn't much interest in continuing down that path.
Tying in @doerthe here as well as she would have more insight into the impact on N3 semantics.
How is graph :g1 {:a :b :c. :a1 :b1 :c1}.
really any different than {:a :b :c. :a1 :b1 :c1} = :g1
? That TriG/SPARQL syntax created some unfortunate branches in the TriG grammar, and =
is already a stand-in for owl:sameAs
. Are the semantics of naming graphs substantially different than what owl:sameAs
provides (at least as hypothetically extended to consider graphs).
from @VladimirAlexiev:
I want to extend this topic by asking: what is a reasonable way to store N3 in semantic repositories? I think the only option is to treat quoted graphs as name-less (anonymous, blank-node-named) graphs:
But using blank nodes is not always a good practice since they make debugging/browsing/sharing harder. So now, the original issue can be reformulated as: How to give a name to a quoted graph, rather than it being stored as an anon graph?
N3 may define a dedicated predicate to associate graph name and content, eg
However, I think it'll be better if it defines a dedicated syntax, since Trig, SPARQL and Nquads have such special syntax. Eg:
I also think we should define some rules:
This opens new opportunities, since the same graphs can now participate in more relations, eg:
But I think it'd also complicate N3's semantics, and I'm sure there may be unintended consequences. @william-vw and @josd Do you think this is feasible?