Blank Node

Created on Feb. 17, 2013, 12:53 a.m. by Hevok & updated by Hevok on May 2, 2013, 5:16 p.m.

Blank Nodes (Empty nodes; Bnodes) denote the existence of an Individual with specific Attributes, but without providing an Identification or Reference.

There can be a Subject or an Object that has no URI associated with it and than it is a blank/empty node. It simply denotes the existence of some individuals that has specific properties or that has specific individual attributes, but it is note denoted which individual it is, it has no name. Sometimes it is very convenient to make a statement about that exists without telling which individuals directly are addressed with this information. For this case Blank Nodes are necessary.

A Blank Node does not have a globally unique identifier, but it has a representation in RDF Turtle and can have a label as well as any Statements describing the Node.

A Blank Node can be dereferenced by its node ID, but only with the same Graph.

Object and resources that do not have a name. It allows to make existential assertions without denoting specific individuals via Blank Nodes.

Blank nodes do not have a name and potential are not referencable.

Multi valued Relations raise conceptional problems regarding uniqueness, e.g. events that take place in regular intervals. An ordering or selection can be create by introduction additional Blank Nodes. Blank Nodes can for instance represent a place and a time that combines in a unique way.

Blank Nodes can be introduced to represent multi valued Relationships and especially for resources that do not need a name (auxiliary nodes). In general Blank Nodes make some statement of existing of something that has specific properties.

In XML for this a new attribute a so called rdf:parseType need to be introduced.

Anonymous Blank Nodes

<xml version="1.0" encoding="utf-8">
rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-synthax-ns#"
        xmlns:event="http://denigma.de/events#" >]

Resource**"/> Die, 13.30-15.00 chat5

In Turtle representation it is much more easier. For introducing new Blank Nodes squared brackets are used:

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-nx#>] .
@prefix prof: <http:denigma.de/events/> .

<http://denigma.de/events/event/meeting5>] events:takesPlace [ 
    events:hasDate "Tue 13.30-15.00";
    events:hasRoom "HS3" ].

Dereferencable Blank Nodes

Sometime it is important to dereference the node. It must sometimes be able to be addressed from outside. In such a case the Blank Node can have a name.

<rdf:Description rdf:about="http://denigma.de/events">]
   <events:takesPlace rdf:nodeID="ID1" />
 </rdf:Description>

 <rdf:Description **rdf:nodeID="ID1"**>
    <event:hasDate>Tue 13.30-15.00</event>
    <event:hasChannel>chat5<event:hasRoom>
</rdf:Description>

In Turtle this is much more easier. There the ID of the Blank Node is characterized by an underscore in front of the colon:

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-nx#>] .
@prefix event: <http://denigma/events/>]

<http://denigma.de/event/meeting5>] event:takesPlace _:ID1 .

_:ID1 event:hasDate "Tue 13.30-15.00";
      event:hasChannel "chat5" .

From now on anywhere everywhere in this RDF document one is able to address this node.

Thus, Blank nodes are to referenced or not to referenced things that do not have an existince in the real world or outside the RDF document, but nevertheless can be referenced if given a name.

blank_node.jpg

Tags: web, RDF, rdf, group, empty, graph
Categories: Tutorial
Parent: Resource Description Framework

Update entry (Admin) | See changes

Comment on This Data Unit