[public-swbp-wg] <none>

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