- From: Graham Klyne <Graham.Klyne@MIMEsweeper.com>
- Date: Sat, 17 Nov 2001 16:57:27 +0000
- To: Pat Hayes <phayes@ai.uwf.edu>
- Cc: w3c-rdfcore-wg@w3.org
At 12:41 PM 11/16/01 -0600, Pat Hayes wrote:
>>I'd like to consider a simple example:
>>
>> ex:foo ex:property "10" .
>> ex:property rdfs:range xsd:integer .
>>
>>Can this be legitimate?
>
>In S, I don't think so, since xsd:integer has to be a property rather than
>a class.
>
>Even if we allow it to be used in both ways at once, I cannot see any way
>in which range information on the asserting property (ie the property that
>occurs in the triple which has the bNode as object in the S idiom) can
>possibly constrain the datatype used in the second triple (the one that
>has the bNode as subject and the literal as object.), or indeed even have
>any interaction with it. The triple
>_:x xsd:integer "10" .
>can be, at best, only constrained to be false by a class restriction of
>the form
>_:x rdf:type <someClass> .
>It cannot be forced to be true.
I think I didn't state my query clearly enough. The above example is
exactly the case I wanted to test (because I think it corresponds to some
current usage). But I was not clear that the xsd:integer is *not* intended
to be the property used in the S scheme to indicate an integer value.
Consider this slightly enlarged example:
ex:foo ex:property "10" .
ex:property rdfs:range xsd:integer .
ex:foo s:property _:a .
_:a s:inDecimal "10" .
where it is the node labeled _:a that denotes the integer value 10. (This
entails the smaller example above, right?)
I think it *can* be legimitate if the xsd:... URIs are considered to be RDF
class names whose value space is strings that conform to the corresponding
xsd:... lexical space. In this interpretation, the xsd:... URIs would not
be used to label properties; some other label would be required for that
(s:property and s:inDecimal in the above example).
>> If so, what can we say about it?
>>
>>Could we, for example, allow rdf:type values like xsd:integer to be
>>subclasses of rdfs:literal, so that the members of the value space are
>>still just strings, but having a restricted lexical form?
>
>But that would not specify the datatype, since "10" might be a decimal or
>a binary or an octal or whatever.
I agree that it wouldn't specify the datatype of the value denoted by
intermediate node (_:a in the example above, or _:int10node in the example
below). I don't see that as a problem.
But it does mean that the denotation of the literal node has a restricted
form per the value space of xsd:integer (by externally defined
interpretation for the class xsd:integer), which in turn would place limits
on the satisfiable literal values in that position.
I'm not trying to say that the simple two-line example is equivalent to the
expanded form with an intermediate node denoting the integer value, just
consistent with it. In this way, I think there is a migration path from
what I claim to be current usage to the more complete description given by
the idiom that Sergey/Dan are promoting.
>> Any interpretation of the string as (say) an integer would be outside
>> the scope of RDF, but we could still have some inference from the above like:
>>
>> ex:foo ex:integerProperty _:int10node .
>> _:int10node rdf:type xsdv:integer .
>> _:int10node rdf:value "10" .
>
>Yes, but that is more the DC style than the S style.
That thought did cross my mind; I'm not hung up on S vs DC here...
>Howrya gonna get the xsd: name into a property position??
I'm not. That wasn't my intention.
Note that my enlarged example above has two properties that are specific to
the case at hand: ex:property (whose range is a string value) and
s:property (whose range is an integer value). I think these would be
"similar" properties, in the sense that:
<x,y> in IEXT(I(ex:property))
=>
<x,int(y)> in IEXT(I(s:property))
where int(y) maps a decimal integer string to the corresponding integer value.
[Later]
It also occurs to me that we could have three parallel namespaces; e.g.
xsd:integer a rdf:Class. (Lexical space of decimal integers, per
XML schema)
xsdv:integer a rdf:Class. (Value space of integers, per XML schema)
xsdp:integer a rdf:Property.
The last a property such that:
<x,y> in IEXT(I(xsdp:integer))
<=>
string y is a decimal string representation of integer x.
Therefore:
_:a xsdp:integer "10".
is true when _:a denotes the integer 10.
#g
--
------------------------------------------------------------
Graham Klyne MIMEsweeper Group
Strategic Research <http://www.mimesweeper.com>
<Graham.Klyne@MIMEsweeper.com>
__
/\ \
/ \ \
/ /\ \ \
/ / /\ \ \
/ / /__\_\ \
/ / /________\
\/___________/
Received on Saturday, 17 November 2001 13:49:53 UTC