Re: Using bnode identifiers for predicates, graph names

On 02/05/2013 04:49 PM, Pat Hayes wrote:
> On Feb 5, 2013, at 1:48 PM, Manu Sporny wrote:
>> ... We can have blank nodes in RDF, and those nodes can refer to 
>> one another.
> 
> Whoa. In what sense do you think that a blank node can refer to 
> another blank node? In any sense of "refer" that I know, this is not 
> true. It is certainly wrong to say that a blank node can *identify* 
> another blank node.

Sorry, that's not what I meant. Let me rephrase.

Here's what I was trying to convey:

In an RDF Graph, we can have a blank node.
We can label that blank node with a blank node identifier.
We can create an edge from one blank node to another blank node.

Why is this not possible:

In an RDF Dataset, we can have a blank graph.
We can label that blank graph with a blank graph identifier.
We can create an edge from a blank node INSIDE a blank graph A to blank
graph B.

>> Why can't we have blank graphs?
> 
> What is a blank graph? Do you mean the empty graph? Hmm, I guess not

I don't mean the empty graph.

A blank graph is a graph that is named with something that is not an
IRI, something local to the dataset.

This could be accomplished in at least two ways:

1. We create a blank graph identifier, so a graph can be named using
either an IRI or a blank graph identifier, or
2. We create a generalized concept called a dataset-local identifier. A
blank node identifier is a subset of dataset-local identifier. A blank
graph identifier is a subset of dataset-local identifier. However, we
don't need the terminology 'blank graph identifier' or 'blank node
identifier' - we just have dataset-local identifier, which can be used
to name both blank nodes and blank graphs.

>> Why can't the content of blank graphs refer to one another?
> 
> Right now, the RDF spec does not even provide a way for one named 
> graph (that is, named with a URI) to refer to another.

JSON-LD does allow one named graph to refer to another. There is no
restriction that it must be an IRI.

> This is because the RDF specs require an IRI used in an RDF triple to
> be interpreted referentially, and the specs deliberately allow an IRI
> to be used as a graph label when it is being used to refer to
> something other than the graph it labels.

I don't understand this. I tried to go to RDF Concepts to learn more
about the statement, but couldn't find any reference to this. Got a link?

-- manu

-- 
Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny)
Founder/CEO - Digital Bazaar, Inc.
blog: Aaron Swartz, PaySwarm, and Academic Journals
http://manu.sporny.org/2013/payswarm-journals/

Received on Wednesday, 6 February 2013 02:16:06 UTC