- From: Jeff Z. Pan <jpan@csd.abdn.ac.uk>
- Date: Mon, 05 Dec 2005 00:07:40 +0000
- To: Jacco.van.Ossenbruggen@cwi.nl
- Cc: jjc@hpl.hp.com, public-swbp-wg@w3.org
(Sorry for sending the email again - the previous one has no subject.)
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 .
now 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, and
that "1.3"^^xsd:float and "1.2999999523"^^xsd:float represent the same value.
Note 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:23:40 UTC