- From: Pierre-Antoine Champin <pierre-antoine.champin@ercim.eu>
- Date: Wed, 19 May 2021 18:53:19 +0200
- To: Antoine Zimmermann <antoine.zimmermann@emse.fr>, Semantic Web <semantic-web@w3.org>
- Message-ID: <02de704e-a84c-0af2-dbee-5550a1039365@ercim.eu>
Hi Antoine,
I have been meaning to reply your mail for some time. Sorry for the delay.
On 07/05/2021 17:03, Antoine Zimmermann wrote:
> Dear semwebers,
>
>
> [I CC the RDF-star list but if you want to reply and are not a member
> of the RDF-star group, I think it's enough to reply to the
> semantic-web list, as the overlap is nearly total I guess]
>
> TL;DR: I propose a datatype that has values that are RDF graphs
> [Note1]. Let us implement it and use it to talk about RDF graphs
> instead of proposing extensions of the RDF model that include special
> syntax and semantics for referring to RDF graphs. Then, extensions of
> RDF can be used for other purposes.
TL;DT: I generally like this idea -- but I also have a number of
remarks, caveats, comments below...
>
>
> [Note1] In fact, the idea is not new: Ivan Herman drafted a document
> in 2010 specifying a datatype for RDF graphs. See RDF Graph Literals
> and Named Graphs, W3C Editor's Draft 26 February 2010 (Ivan Herman,
> editor) https://www.w3.org/2009/07/NamedGraph.html
Reading the beginning of your email, I was going to try and dig this
out, till I realized you had already ;-)
>
>
> Long version:
> ============
>
> Datatypes in RDF are used in order to refer to specific values that
> can be processed adequately by computer systems, as opposed to
> entities from the real world that can merely be referred to in such
> systems without access to the real thing. For instance, if one wants
> to refer to the integer "one", it is much better to use
> "1"^^xsd:integer, that any system understands as the number "one" --
> less than "2"^^xsd:integer and more than "0"^^xsd:integer -- rather
> than using an identifier like
> http://km.aifb.kit.edu/projects/numbers/n1 that may refer to a real
> world entity to which the system has no understanding of.
>
> If one wants to refer to a *specific* instant in time, it is
> preferable to identify it using xsd:dateTime rather than minting a URI
> for the instant and relating it to its year, month, day, etc.
>
> If one wants to refer to a *specific* geometry on the Earth, it is
> better to use a geo:wktLiteral rather than introducing a URI and a
> vocabulary that would partially, and complexly define the geometry.
Theoretically, literals are cleaner, granted.
In practice, I see this more as a trade-off, and the best answer depends
on your use-cases. For dates, it is sometimes useful to be able to
access their "parts" by simply following an arc.
(this is where N3 shines, by the way, but that's another topic)
>
> If one wants to refer to a specific RDF graph, that could be processed
> based on the datatype that identifies it as such, it would be more
> efficient and robust to use a literal rather than a URI that
> supposedly identifies it.
>
> I see many discussions that attempts to address the problem of
> identifying specific RDF graphs (or specific triples) using extensions
> of RDF, such as named graphs, or RDF-star, when all we need is a
> datatype that is fully inside the scope of RDF syntax and semantics.
Again, theoretically you are right; however... the specifics of that
datatype would still have to be built into RDF implementations...
RDF datasets, on the other hand, are already largely implemented. (and
so is RDF-star, to some extent :->)
>
> If we have a datatype, say rdf:turtle, whose lexical space is the set
> of UNICODE strings that encode Turtle documents, and whose value space
> is the set of RDF graphs (or perhaps, the set of equivalent classes of
> RDF graphs wrt the isomorphism relation), then we have a way to refer
> to RDF graphs (or the graphs isomorphic to it) without extending RDF
> at all.
>
> For instance:
>
> <antoine> <published> "ex:x a owl:Thing"^^rdf:turtle .
>
> precisely refers to the RDF triple (ex:x, rdf:type, owl:Thing).
> If we had this datatype, then it would not be necessary to define an
> extension of RDF for expressing statements about RDF graphs or triples.
>
> As a consequence, extensions of RDF such as named graphs, RDF
> datasets, or RDF-star, could be used for other things.
>
> As an example, named graphs could be used to refer to a possible world
> that a named RDF graph may describe:
>
> <a> <says>
> ":a rdfs:subClassOf :b . :b rdfs:subClassOf :c ."^^rdf:turtle .
> <ng> {
> :a rdfs:subClassOf :b .
> :b rdfs:subClassOf :c .
> }
>
> could entail:
>
> <ng> {
> :a rdfs:subClassOf :c .
> }
>
> because <ng> would describe a world in which :a is really a subclass
> of :c .
>
> However, it would not entail:
>
> <a> <says> ":a rdfs:subClassOf :c ."^^rdf:turtle .
>
> because the initial graph tells that <a> said something with a graph
> of 2 triples, not a graph with one triple.
> While I'm aware that there are limitations to this approach, it seems
> to me that it covers a lot of use cases for the people who would like
> to identify RDF graphs.
>
> As an example of the limitations I can see, there is the problem of
> blank nodes that could occur in both the rdf:turtle literal and
> externally to the literal. It would probably not be possible to ensure
> that bnodes inside the literal are the same as the ones outside, even
> if the same bnode identifiers were used. Yet, the use cases that
> require going beyond the limitations seem to be rather narrow.
> Regardless of whether this covers all the use cases, wouldn't it be
> worthwhile investigating this direction, given that it does not
> require any extension of RDF at all?
>
> One noticeable issue remains: people may want to talk about RDF graphs
> as the subject of their triples. We could envision an extension of RDF
> where literals are allowed as the subject of RDF triples.
+1, that would be awesome (did I mention N3 already?... :-P)
However...
> Would this be more crazy to implement than a whole new data model like
> RDF-star that allow a completely new type of entities in both object
> and subject positions?
... I don't know if one is more crazy than the other. But I can only
acknowledge that RDF-star got much more traction than literals as
subjects. Go figure...
> (this is not an attack against RDF-star, which has some other values
> that can justify the effort, notably wrt querying, that I don't want
> to discuss here).
duly noted :-)
best
>
> Thoughts? Criticisms? Acclaims?
> --
> Antoine Zimmermann
> ISI - Institut Henri Fayol
> École des Mines de Saint-Étienne
> 158 cours Fauriel
> 42023 Saint-Étienne Cedex 2
> France
> Tél:+33(0)4 77 42 66 03
> https://www.emse.fr/~zimmermann/
>
Received on Wednesday, 19 May 2021 16:53:25 UTC