W3C home > Mailing lists > Public > semantic-web@w3.org > February 2010

Re: how to define that a relation is a dataype?

From: Jeremy Carroll <jeremy@topquadrant.com>
Date: Mon, 22 Feb 2010 10:19:02 -0800
Message-ID: <4B82CA96.8070504@topquadrant.com>
To: Pat Hayes <phayes@ihmc.us>
CC: Story Henry <henry.story@bblfish.net>, Semantic Web <semantic-web@w3.org>, Dan Connolly <connolly@w3.org>, foaf-protocols@lists.foaf-project.org
Pat Hayes wrote:
>
>>
>> If xsd:integer is the set of all numbers, then how can it also be a 
>> map from numbers to strings?
>
> In RDFS, the same name can be used to mean a mapping and a class and 
> an individual. Same is true in OWL 2 and ISO Common Logic. Saves a lot 
> of name-inventing. We used this in the datatyping. Used as an 
> individual, the dtype name means the actual datatype as a thing, so we 
> can say that "it" is a datatype for example. Used as a class name, its 
> the class of all the values. Used as a property, it is the 
> string-to-value mapping.
>
>

It seems that, at least for Henry's own datatypes, he can also decide to 
use the same name as a property. To give it the semantic force he wants, 
he needs to use a semantic extension (as defined in RDF Semantics), but 
I don't think there is too much to do to make his desired triples true:

1234 :base64 "TU";
     :hex "4D2";
     :dec "1234";
     :oct "2322";
     :bin "11010010" .


or

_:b1234 owl:sameAs "1234"^^xsd:int .

_:b1234 :base64 "TU";
     :hex "4D2";
     :dec "1234";
     :oct "2322";
     :bin "11010010" .

and if he also declares these as RDF datatypes, and his RDF processor is aware of both:
- his semantic extensions defining the properties
- and his new custom datatypes

then

all the following is true as well:



_:b1234 owl:sameAs "1234"^^xsd:int .

_:b1234 owl:sameAs "TU"^^:base64;
     owl:sameAs "4D2"^^:hex ;
     owl:sameAs "1234"^^:dec ;
     owl:sameAs "2322"^^:oct ;
     owl:sameAs "11010010"^^:bin .

DanC said:
[[ That's completely arbitrary; 
]]

But the whole point of a standard is to make those arbitrary decisions consistently for everyone to aid interoperability!
I think if Henry chooses to use the extension points, he can achieve his goals; but then he loses the interop that is everyone's goal (because other people won't know his extensions)

I didn't much favor the datatyping framework we came up with, and I prefer Henry's approach - but it's water under the bridge. I have a strong preference that we all do it the same way. So I would urge Henry against doing it different just to be different, and suggest he should consider my second set of examples, where he is using his own custom datatypes, but in the same datatyping framework as everyone else, rather than reinventing the datatyping framework as well. Real people don't type triples ... so there is going to be some transform somewhere, and transforming to the second batch is no harder than the first.

Jeremy

 
Received on Monday, 22 February 2010 18:20:08 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 21:45:34 GMT