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

> On Jul 7, 2020, at 9:40 PM, Anthony Moretti <anthony.moretti@gmail.com> wrote:
> 
> Guess I'm saying two things.
> 
> The first:
> type: rdfs:Datatype should be a way that consumers of a graph can understand that value semantics apply

The value/reference distinction simply has nothing at all to do with RDF or RDFS, which aren't programming languages. 

> , that if they like they can ignore any ID if it exists, that the value is fully described by its properties.

The value of what? The value of a literal is not fully described by its properties, it is given by the specification of the datatype, externally to RDF. The meaning of xsd:number is defined in the XML Schema specification document, for example.

But in any case, why would that, even if it did make sense, imply that an ID can be ignored? What if the ID is used elsewhere to refer to the value?

> It should be a way for publishers of a graph to say all that without having to create an accompanying literal syntax.
> 
> In Swift for example, I can say either of:
> 
>     class Circle {
>         center: coordinate1,
>         radius: 10,
>     }
> 
>     struct Circle {
>         center: coordinate1,
>         radius: 10,
>     }
> 
> The first implies reference semantics, the second value semantics.

I am afraid I do not know Swift, but if you are using this terminology in the way I think you are, this simply does not make sense when talking about RDF, which isn’t about datastructures at all.

> So if I'm able to use rdfs:Datatype in that way, then during processing, blank nodes whose types are instances of rdfs:Class should be given a URI (using UUIDs for example), but blank nodes whose type is an instance (singular) of rdfs:Datatype shouldn’t.

What? Why? I completely fail to understand your reasoning here. Whatever that way of using rdfs:Datatype is, it has nothing to do with RDFS (that I can understand, anyway.) I mean, this would not follow even in Swift, seems to me.

> The second:
> If I'm able to do that, then literal syntax only exists as syntactic sugar for blank nodes whose type is an instance of rdfs:Datatype.

When you say that a blank node has a type, do you mean what is said by a triple like 

_:thisbnode rdf:type rdfs:Datatype .

? Because all that says is that something exists which is a datatype. It does not assign a ‘type' to the bnode itself. And in any case, I cannot see how any of this means that literal syntax must be treated as syntactic sugar. 

Pat

Received on Wednesday, 8 July 2020 03:59:19 UTC