- From: Jeremy Carroll <jjc@hpl.hp.com>
- Date: Fri, 27 Jan 2006 21:40:23 +0000
- To: SWBPD <public-swbp-wg@w3.org>
At the F2F meeting in Galway, both the editors and the WG were divided as to which of the two proposed versions of the document should be moved forward. One party wanted the differences between float, double and decimal to be reflected in the formal semantics; and application techniques such as SPARQL be the preferred way to address possible mixed use. The other party wanted a better formal foundation allowing applications freedom to determine the appropriate relationships between the datatypes for their context. In our discussion, we have agreed that both of these approaches use the XML Schema derivation tree as their basis, and that, to some extent, users of datatypes in the Semantic Web need to know that whereas int derives from integer which derives from decimal which is primitive, float and double do not, and they are both primitive, and have no inherent relationship with decimal or with each other. However, we have also agreed that the semantic foundations for the SPARQL approach are currently weak, and may remain so, even when SPARQL reaches recommendation. Hence, we have gone with modified text from the derive version of the f2f documents: http://www.w3.org/2001/sw/BestPractices/XSCH/xsch-sw-20051027/derive The two modification being: 1) adding a paragraph indicating semantic issues with SPARQL at the end of section 3.5. 2) adding a new section 3.6, sketching how a mapsTo type solution can be used to define an approximate equality which allows applications to use a solution with better semantic foundations The proposed text can be found at http://www.w3.org/2001/sw/BestPractices/XSCH/xsch-sw/ (the additional text is pasted below for ease of reference) archived at: http://www.w3.org/2001/sw/BestPractices/XSCH/xsch-sw-20060127/ The new text of 3.6 does not suffer non-monotonicity problems because the approximate equality it defines is explicitly not the same as owl:sameAs. The editors hence propose publishing: http://www.w3.org/2001/sw/BestPractices/XSCH/xsch-sw-20060127/ as a WG Note. Jeremy and Jeff New text: ======================= The following [SPARQL] query will match all three. SELECT ?size WHERE { eg:car eg:engineSizeInLitres ?size . FILTER (?size = 1.3) . } In the current [SPARQL] working draft, the mapping from the typed literal, as a syntactic object, to its corresponding value, is done as part of the operation of the = operator in the above query, rather than as part of say a D-interpretation from [RDF Semantics]. This mapping is specified in [Functions & Operators], and, being strongly typed, is not identical with that specified in [RDF Semantics] 3.6 Value Approximate Mapping A difference approach, better embedded in [RDF Semantics] could enable meaningful mappings among values from different datatypes. This could give better foundations for operations such as the type promotion of the XML Path Language 2.0 [XPath 2.0] and the = operator in SPARQL mentioned in Section 3.5. A quick sketch is that we extend the RDF D-interpretation to support value approximate maps, as follows: [Definition:] A value approximate map mapsTo is a partial mapping from typed literals to typed literals. Example 3N An example value approximate mapping is "1.3"^^xsd:decimal owlx:mapsTo "1.3"^^xsd:float . [Definition:] Given a datatype map D and a value approximate map mapsTo, the approximate equality aeq is defined as follows: * aeq("s1"^^u1, "s2"^^u2)=true if L2S(D(u1))(s1) = L2S(D(u2))(s2) or if mapsTo("s1"^^u1)="s3"^^u2 and L2S(D(u2))(s3) = L2S(D(u2))(s2), * aeq("s1"^^u1, "s2"^^u2)=false otherwise. Note that, according to the above definition, aeq("s1"^^u1, "s2"^^u2)=true does not imply that "s1"^^u1 and "s2"^^u2 are interpreted as the same value (L2S(D(u1))(s1) = L2S(D(u2))(s2)). To sum up, applications can specify a value approximate map mapsTo and make use of the approximate equality aeq for their purposes. ================================
Received on Friday, 27 January 2006 21:40:45 UTC