handling rdf:langString according to previous WG discussion and consistently between Concepts and Semantics

Here is my proposal for handling rdf:langString in Concepts and Semantics,
consonant with what I remember and have been told concerning the WG deliberations.
It also fixes up a few related bits of wording and has a change to address
the resolution of Issue 109.  Explicit changes are marked out with "*".  I
have included relevant development that is already in Concepts.

- a literal has two or three elements (Concepts 3.3)
 - lexical form, datatype IRI, language tag (optional)
 - with two is a ?? (There were some proposal for this, but it may not be needed.)
 - with three must have rdf:langString as datatype

- a datatype has a lexical space, a value space, and an L2V (Concepts 5)
 - the "denotes" is rather strange throughout
   - what does it mean? is this a requirement on all simple/D/RDF/RDFS
     interpretations? the machinery in Concepts doesn't need denotation at
     all
   * remove ", and is denoted by one or more IRIs"
   * "denote the" -> "are used for the" (Concepts 5.1)
   * "An IRI denoting this datatype" -> "The IRI used in RDF for this
     datatype" (Concepts 5.2, 5.3)
 * modify wording about rdf:langString in note
   - ".... The datatype for rdf:langString is defined below, but the
   mapping from language-tagged strings to their value does not use its
   lexical-to-value mapping." 

* Section 5.3+ The rdf:langString Datatype [new section for Concepts]
 RDF provides for strings with associated language tags.  Such content is
 indicated in an RDF graph using a language-tagged literal.  This datatype
 is defined as follows:
 The IRI used in RDF for this ....
 The lexical space is the empty set.
 The value space is the set of pairs of Unicode strings and
 normalized-to-lowercase well-formed language tags from section 2.2.9 of
 BCP47.
 The lexical space of rdf:langString is empty, so there are no well-typed
 literals that have rdf:langString as their datatype IRI and no language tag.  

 Note:  There may be other datatypes, like rdf:PlainLIteral, whose value
 space has a non-empty intersection with the value space of rdf:langString.)

 [Why do this?  Well, there is nothing currently preventing one from defining
 a useful (or malicious) datatype for rdf:langString.  I would actually prefer 
 doing this (the former, of course), using the L2V from rdf:PlainLiteral, but I
 expect that this would not have much support in the WG.]

- Section 5.4 in Concepts is all about datatype maps, which are supposed to
 be going away.  It does have the correct wording for how to require that
 particular IRIs map to the correct datatypes.  
 * Whatever remains needs to mention that RDF and RDFS require two built-in
   datatypes. 

- Section 5.5 should be modified to correspond with the recent resolution of
 Issue 109 (and remove the use of "error") as follows:
 * 5. Otherwise, the literal is ill-typed, and no literal value is associated
    with the literal.  Such a case it not syntactically ill-formed, but is
    generally not very useful [and is best avoided???].

Simple interpretations in Semantics
* 5a) If E is a language-tagged string in V (with datatype IRI rdf:langString) ....
* 5b) If E is a literal in V with type xsd:string ....

Semantic conditions for ground graphs
* Remove first two conditions
* Remove comment afterwards
* Remove note about illegal language tags.

* Remove note about xsd:string - it's in
* Remove note about rdf:langString - it's a datatype

*Semantic conditions for D-interpretations:
* ... every literal in V of the form "sss"^^aaa ...

*RDF interpretations

An RDF-interpretation of a vocabulary V is a 
D-interpretation I of (V union rdfV),
where D includes rdf:langString and xsd:string, 
which satisfies: 
...
for every IRI aaa in D, and every well-typed literal in V of the form
"sss"^^aaa <IL("sss"^^aaa),I(aaa)> in IEXT(I(rdf:type))

*RDFS semantic conditions
...
for every IRI aaa in D, ICEXT(I(aaa)) is the value space of I(aaa)
for every IRI aaa in D, I(aaa) is in ICEXT(I(rdfs:Datatype))

*RDFS axiomatic triples
remove as not necessarily true
rdf:XMLLiteral rdf:type rdfs:Datatype . 
rdf:XMLLiteral rdfs:subClassOf rdfs:Literal .
rdf:HTMl rdf:type rdfs:Datatype . 
rdf:HTML rdfs:subClassOf rdfs:Literal .
remove as redundant
rdf:langString rdf:type rdfs:Datatype . 
rdf:langString rdfs:subClassOf rdfs:Literal .
xsd:string rdf:type rdfs:Datatype . 
xsd:string rdfs:subClassOf rdfs:Literal .

Received on Wednesday, 27 February 2013 20:29:44 UTC