Re: Blank nodes must DIE! [ was Re: Blank nodes semantics - existential variables?]

> On 28. Jul 2020, at 00:40, Antoine Zimmermann <antoine.zimmermann@emse.fr> wrote:
> 
> Le 27/07/2020 à 23:54, thomas lörtsch a écrit :
>>> On 27. Jul 2020, at 20:56, Antoine Zimmermann <antoine.zimmermann@emse.fr> wrote:
>>> 
>>> Le 27/07/2020 à 18:52, Maxime Lefrançois a écrit :
>>>> If we imagine datatypes that encode RDF graphs,
>>> 
>>> Ivan Herman drafted a document a while ago that does exactly that:
>>> 
>>> https://www.w3.org/2009/07/NamedGraph.html#definition-of-graph-literals
>>> 
>>> 
>>> I even think that, in some cases, it could be of some usefulness, but the kinds of use cases are so niche, and the idea of encoding RDF graphs inside literals in other RDF graphs is so disturbing to the homo semanticus that there are chances it will never get traction.
>> For graphs that contain only one triple it’s really not very different from what RDF* does, isn’t it?
> 
> I don't pretend to have an in-depth knowledge of RDF*, but I've read the papers specifying RDF* with sufficient attention to say that it is not the case.
> 
> The following triple (using Ivan's specification of graph literals):
> 
> <s> <p> "<subject> <predicate> <object>"^^rdfl:GraphLiteral .
> 
> has one RDF triple. It conforms to the RDF standards.
> 
> In RDF*, this:
> 
> <s> <p> << <subject> <predicate> <object> >> .
> 
> is not an RDF triple. From one of the papers about RDF*, the previous "triple" could be understood as syntactic sugar for a reified triple, like so:
> 
> <s> <p> [
>  rdf:subject <subject>;
>  rdf:predicate <predicate>;
>  rdf:object <object>
> ]
> 
> but another paper says it could be interpreted differently. In any case, the power of RDF* is probably in its accompanying query language SPARQL*, where you can ask:
> 
> SELECT ?x WHERE {
>  <s> <p> << <subject> <predicate> ?x >> .
> }
> 
> You can't do this with a literal, unless you use regular expressions and filters.

> In any case, RDF* is a different data model, while graph literal is just a way of using the RDF data model to include graphs as values in the domain of discourse.

I agree with most of what you say, but if you squint a little what you see is that both approaches repeat the whole, long triple, with thin wrappers around it. That's the similarity I refered to. I don’t know about the Homo Semanticus in general but what shocked me about RDF* in the first place was this verbosity of citing the whole triple verbatim. But a lot of people seem not to bother and so I thought: if the sheer length of the node is not an issue, then why not reuse datatypes.

Meta modelling introduces a break in the space of discourse and so far I haven’t seen an approach that can implement it in RDF without some break in the RDF space either. To me the question is rather: which break makes the most sense. If like Henry argues citing is the right way to meta model in RDF then implememtation details - if not quite unsurmountable - would rather be a minor concern to me. I.e. like you can process an rdf:XMLLiteral with genuine XML machinery you could reuse genuine RDF machinery to process an rdf:Turtle literal. 

But I have to admit that I might not take literals serious enough. Maybe it’s a not good, very bad idea to bend them that much. 

:TL



> --AZ
> 
>> TL_
>>> 
>>> —AZ
>>> 
> 

Received on Tuesday, 28 July 2020 09:38:02 UTC