- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Thu, 22 Nov 2007 08:45:15 +0000
- To: "Sean B. Palmer" <sean@miscoranda.com>
- Cc: SW-forum Web <semantic-web@w3.org>, public-owl-wg Group WG <public-owl-wg@w3.org>
If you are really curious about the OWL perspective, public-owl-dev would be the right cc. On Nov 22, 2007, at 8:27 AM, Sean B. Palmer wrote: > Is there a way to express, in an ontology, that a property's range is > in a particular datatype even if the datatype isn't present in the > instance? I don't think so. This is an RDF issue. > In other words, say I have a property called :numberOfFish, and in one > instance I have: > > :John :numberOfFish "5" . > > and in another: > > :Mary :numberOfFish "15"^^xsd:integer . > > In the schema I want to make it clear that lexical values must be > taken from xsd:integer but that you're free to omit the datatype > declaration in the instance and can consider it to be regarded an > xsd:integer anyway. So the first triple should entail :John > :numberOfFish "5"^^xsd:integer. [snip] The problem is that the "5" *does* have a type: Plain literal. Of the top of my head, that type is the same as xsd:string but disjoint from xsd:integer. So even if you had a restriction saying that the range of :numberOfFish was xsd:integer, you would end up with a contradiction. So, either one needs a kind of macro, or some sort of type coercion. Cheers, Bijan.
Received on Thursday, 22 November 2007 08:45:22 UTC