- 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