- From: Jeff Z. Pan <jpan@csd.abdn.ac.uk>
- Date: Mon, 05 Dec 2005 00:02:07 +0000
- To: Jacco.van.Ossenbruggen@cwi.nl
- Cc: jjc@hpl.hp.com, public-swbp-wg@w3.org
Jacco, > Jeff, we discussed this during the teleconf, but were not sufficiently > clear on how your mappings will look like and how an we could guarantee > interoperable behavior (for example in terms of the behavior of the > SPARQL example posted by Jeremy). > > Could you be more precise and give an example of the proposed mappings? An exmaple approaximate mapping can be (*) "1.3"^^xsd:decimal owlx:mapsTo "1.3"^^xsd:float . Given the following data eg:car1 eg:engineSizeInLitres "1.3"^^xsd:decimal . eg:car2 eg:engineSizeInLitres "1.2999999523"^^xsd:float . eg:car2 eg:engineSizeInLitres "1.299999999999999822"^^xsd:decimal . we consider two SPARQL queries A and B. 1) Query A: SELECT ?x ?size WHERE { ?x eg:engineSizeInLitres ?size . FILTER (?size = "1.3"^^xsd:decimal) . } where the "=" operation supports the type promotion/approximate mapping (*). Query result: eg:car1 "1.3"^^xsd:decimal eg:car2 "1.2999999523"^^xsd:float Note that "1.3"^^xsd:decimal can be promoted/mapped to "1.3"^^xsd:float according to (*), and that "1.3"^^xsd:float and "1.2999999523"^^xsd:float represent the same value. Note also that if we use the "primitive equality" approach, eg:car2 "1.2999999523"^^xsd:float would not in the result because "1.3"^^xsd:decimal and "1.2999999523"^^xsd:float represent different values. 2) Query B: SELECT ?x ?size WHERE {?x eg:engineSizeInLitres "1.3"^^xsd:float .} Query result: eg:car2 "1.2999999523"^^xsd:float. Note that in this query we only consider equality and no type promotions/approximate mappings are allowed. If we use the "primitive equality" approach for this query, the result would be the same. Jeff -- Dr. Jeff Z. Pan (http://www.csd.abdn.ac.uk/~jpan/) Department of Computing Science, The University of Aberdeen
Received on Monday, 5 December 2005 00:18:09 UTC