- From: Graham Klyne <gk@ninebynine.org>
- Date: Tue, 11 Mar 2003 13:11:55 +0000
- To: RDF core WG <w3c-rdfcore-wg@w3.org>
Stuart's comment (2) in:
http://lists.w3.org/Archives/Public/www-rdf-comments/2003JanMar/0238.html
revisits the question of whether URIs *label* graph nodes, or *are* graph
nodes.
(For the record, Jeremy responds:
http://lists.w3.org/Archives/Public/www-rdf-comments/2003JanMar/0329.html
)
I propose that this issue is addressed by following the terminological
approach suggested by Pat in another message:
http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2003Feb/0152.html
in which, by defining the graph to be the set of triples, it is much more
intuitive to assert that URIs, literals and bnodes *are* the subject,
predicate, object values that one finds in the RDF graph. I think some
clever scribing may be required to clearly convey the identity of bnodes
without getting tangled with labels for talking about bnodes. [**]
#g
--
[**] Here's an attempt, based on Pat's words, provided for the purpose of
having something concrete to lob bricks at.
[[
An RDF _graph_ is a set of _triples_.
A _triple_ is a 3-tuple which is made up of a subject, predicate
and object, which are respectively a _uriref_ or _bnode_; _uriref_; _uriref_,
_bnode_ or _literal_.
a _uriref_ is a sequence of Unicode characters that, when converted to a
URI-character-sequence, conforms to the syntax for an absolute URI with an
optional fragment identifier [RFC2396].
a _bnode_ is an arbitrary member of some set of bnodes. A bnode has no
discernable structure other than, given two bnodes, it is possible to
determine whether or not they are the same. (For the purpose of
representing RDF graphs as text, bnodes may be assigned arbitrary labels so
that different bnodes may be distinguished; such labels are simply a means
of representation and are not part of any RDF graph in which the bnode
appears.)
a _literal_ is ...?
[[[A problem: I think we've skirted this before.
How does one distinguish *in the abstract graph* between
a sequence of characters that is a URIref and
a sequence of characters that is a plain literal?
If all literals are typed, including plain literals,
then I think we can say:
]]]
a _literal_ is a pair made up of a literal datatype and lexical value,
which are respectively a _uriref_ and either a _simple lexical value_ or a
_language-tagged lexical value_.
a _simple lexical value_ is a sequence of characters.
a _language-tagged lexical value_ is a pair made up of a language tag
[RFC3066] and a _simple lexical value_.
]]
[Later, I think this has some overlap with danc-01/danc-02]
Looking at DanC's Larch:
[[
% REVIEW: 6.5 needs to say the datatype URI and lang tags are optional
Literal tuple of
lexical_form: UnicodeStringInNormalFormC, % TODO: factor out charmod
stuff
lang: Opt[Language_Identifier], % RFC 3066
dt: Opt[URI_reference]
]]
-- http://www.w3.org/XML/9711theory/RDFAbSyn.lsl
Does this mean that a literal is always a triple, with "null" members, or
that it is a 1-tuple, 2-tuple or 3-tuple. Hmmm, can't be that latter,
since (lexical,lang) and (lexical,dt) would be confused. So what goes into
the literal tuple when an optional value is absent?
However it works, this seems to address the problem noted above.
#g
-------------------
Graham Klyne
<GK@NineByNine.org>
PGP: 0FAA 69FF C083 000B A2E9 A131 01B9 1C7A DBCA CB5E
Received on Tuesday, 11 March 2003 09:07:41 UTC