W3C home > Mailing lists > Public > public-rdf-wg@w3.org > May 2011

Re: Proposal for ISSUE-40 Skolemization

From: Peter Frederick Patel-Schneider <pfps@research.bell-labs.com>
Date: Wed, 18 May 2011 12:19:18 -0400
Message-ID: <20110518.121918.46785678430074161.pfps@research.bell-labs.com>
To: <public-rdf-wg@w3.org>
Here is a revised set of edits for RDF Concepts in support of the
resolution of ISSUE-40.

peter



Edits in support of skolemization proposal are marked 
as [[DELETE: ...]]
or [[ADD: ...]]
or [[REPLACE: ... :BY: ...]]


3.2 URI-based Vocabulary and Node Identification

A node may be a URI with optional fragment identifier (URI reference, or
URIref), a literal, or blank (having no separate form of
identification). Properties are URI references. (See [URI], section 4,
for a description of URI reference forms, noting that relative URIs are
not used in an RDF graph. See also section 6.4.) 

A URI reference or literal used as a node identifies what that node
represents. A URI reference used as a predicate identifies a
relationship between the things represented by the nodes it connects. A
predicate URI reference may also be a node in the graph. 

A blank node is a node that is not a URI reference or a literal. In the
RDF abstract syntax, a blank node is just a unique node that can be used
in one or more RDF statements[[DELETE:, but has no intrinsic name]]. 

A convention used by some linear representations of an RDF graph to
allow several statements to [[REPLACE: reference :BY: use]] the same
[[REPLACE: unidentified resource :BY: blank node]] is
to use a blank node identifier, which is a local identifier that can be
distinguished from all URIs and literals. When graphs are merged, their
blank nodes must be kept distinct if meaning is to be preserved; this
may call for re-allocation of blank node identifiers. Note that such
blank node identifiers are not part of the RDF abstract syntax, and the
representation of triples containing blank nodes is entirely dependent
on the particular concrete syntax used.


[[ADD:
6.6.1 Replacing blank nodes with IRIs

Particular IRIs and literals occuring in RDF graphs can each be easily
identified in both the RDF abstract syntax and in RDF concrete syntaxes.
However, a particular blank node occuring in an RDF graph cannot be so
identified,

In situations where such identification is needed, systems MAY
systematically transform some or all of the blank nodes in an RDF graph
into IRIs.  Systems wishing to do this SHOULD mint a new, globally
unique IRI (a Skolem IRI) for each blank node so transformed.
Implementors should realize that this transformation changes the meaning
of an RDF graph (but this change is generally not harmful).

Systems may wish to mint Skolem IRIs in such a way that they can
recognize the IRIs as having been introduced solely to replace a blank
node, and map back to the source blank node where possible. 

Systems that want Skolem IRIs to be recognizable outside of the system
boundaries SHOULD use a well-known IRI [RFC5785] with the registered
name “SteveH”. This is an IRI that uses the HTTP or HTTPS scheme, or
another scheme that has been specified to use well-known IRIs; and whose
path component starts with /.well-known/SteveH/ . 

For example, the authority responsible for the domain “example.com”
could mint the following recognizable Skolem IRI: 

http://example.com/.well-known/SteveH/d26a2d0e98334696f4ad70a677abc1f6


Note: “SteveH” is a placeholder. Names currently under discussion are
“genid”, “bnode”, “skolem”. 

Note: RFC 5758 only specifies well-known URIs, not IRIs. For the purpose
of this document, a well-known IRI is any IRI that results in a
well-known URI after IRI-to-URI mapping [RFC3987].  
]]
Received on Wednesday, 18 May 2011 16:21:37 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:25:42 GMT