Re: Should rdf:value have a semantics??

At 02:14 PM 12/4/02 -0600, you wrote:

>Heres a rewrite of the section which hopefully will overcome the 
>objections. Feel free to suggest modifications (including, delete it 
>altogether :-)
>
>Pat
>----------

Pat,

I'm leaning towards deprecation.  But in case the group doesn't like that 
option, there's a suggested version below based on your words.

>The intended use for rdf:value is to indicate that some entity is 
>associated with a particular value, usually indicated by a literal, from 
>some predefined range of possible values. Examples of this kind of use are 
>given in [RDF-PRIMER]. It can used, for example, to associate some 
>quantity with a literal representing the 'amount' of the quantity, such as 
>a weight in kilograms or a length in yards; associating a textual object 
>with a Dewey Decimal code; or for indicating a part or model number in 
>some contextual range. In all these cases the subject of the triple will 
>typically be a blank node denoting the quantity or object in question, and 
>whose other properties indicate the context in which the value is to be 
>understood. For example:
>
><ex:thing> <ex:weight> _:x .
>_:x rdf:value "12.36"^^xsd:float .
>_:x <ex:weightUnit> <ex:kilogram> .
>
><ex:doc> <dc:subject> _:x .
>_:x rdf:value "020-Library Science" .
>_:x <ex:classification> "DeweyDecimalCode" .
>
><ex:thing> <ex:assembly> _:x .
>_:x rdf:value "1234" .
>_:x <ex:scope> "Model2001-super"
>
>Since the subject of the relevant triple can be any quantity, and the 
>object can either be a plain literal indicating a textual representation 
>of the amount or a typed literal denoting the numerical value of the 
>amount, there is no way to give a formal specification of this intended usage.

Question:  is it required that rdf:value object be a literal?  I think that 
gets messy as a requirement, though it does fit with its intended usage.

>Users are cautioned that any such usage will be context-dependent and is 
>liable to be misunderstood if removed from its context. A single triple 
>involving rdf:value has no particular meaning in isolation. The use of 
>rdf:value in this way can often be replaced by the use of more complex RDF 
>constructions or more explicit user-defined vocabulary in order to avoid 
>such ambiguities.
>
>-----

Suggested reworking:
[[
The intended use for rdf:value is as part of a construction that indicates 
the value denoted by its subject.  Some examples are given in 
[RDF-PRIMER].  It can used, for example, to indicate a quantity associated 
with some unit of measurement, such as a weight in kilograms or a length in 
yards.  Or it may be used to indicate a textual value interpreted according 
top some coding scheme;  e.g. a Dewey Decimal code.  The object of 
rdf:value will typically be a literal of some kind, and the subject a blank 
node denoting the value in question, and whose other properties indicate 
the context in which the value is to be understood.  For example:

<ex:thing> <ex:weight> _:x .
_:x rdf:value "12.36"^^xsd:float .
_:x <ex:weightUnit> <ex:kilogram> .

<ex:doc> <dc:subject> _:x .
_:x rdf:value "020-Library Science" .
_:x <ex:classification> "DeweyDecimalCode" .

Since the subject of rdf:value can denote any value, and the object can be 
a plain literal indicating a textual representation or a typed literal 
denoting the numerical value, there is no way to give a complete formal 
specification of this intended usage.

Users are cautioned that any such use will be context-dependent and is 
liable to be misunderstood if removed from its context.  A single triple 
involving rdf:value has no particular meaning in isolation.  Such 
ambiguities can be avoided by replacing the rdf:value construct with more 
precise RDF constructions or more explicit vocabulary.
]]

-----


>Also at the end of 4.3 (datatype entailments: informative) Ive added this, 
>but it can be deleted if people think it doesnt belong (I've already had 
>queries as to why this form wasnt mentioned in the MT, though.)
>
>------
>The informal meaning for rdf:value outlined in section 2.3.4 suggests the 
>following equivalence, which we mention here for completeness as it 
>represents a style of existing usage. We emphasize however that it is not 
>strictly valid since rdf:value has no formal semantics, and that in any 
>case the three-triple graph below does not have exactly the same meaning 
>as the first triple since it does not uniquely associate the plain literal 
>with the datatype:
>
>aaa ppp "sss"^^ddd .
>
><-->

I don't like the two-way inference here.  I could accept '-->', but the 
reverse inference seems too much to even hint at given the non-semantics of 
rdf:value.

>aaa ppp _:x .
>_:x rdf:value "sss" .
>_:x rdf:type ddd .

Overall, this is messy enough that I think deprecation is the easy way 
out.  I think the most we might say formally about rdf:value, consistent 
with example of use seen so far, is that:

    _:x rdf:value _:y .

means that there is some property p such that the range of p is in the 
lexical or value space of some datatype, and:

    _:x p _:y .

which is pretty weak.  Specific application assumptions may be able to 
assign more specific meaning to collections of statements containing 
rdf:value, but these additional meanings are not accessible to general RDF 
applications.

#g


-------------------
Graham Klyne
<GK@NineByNine.org>

Received on Thursday, 5 December 2002 07:03:33 UTC