- From: Nathan <nathan@webr3.org>
- Date: Sun, 01 May 2011 18:56:39 +0100
- To: public-rdfa-wg@w3.org
Andy Seaborne wrote: > >> Hi Ivan, >> >> I've been implementing the RDF Interfaces over the last couple of days, >> and have to admit that I'm struggling with the lexical-equality. >> >> Essentially it's increasingly looking like we'll need to drop all the >> typed literal conversion, and constrain the definition of createLiteral >> to be: >> >> createLiteral(DOMString value, DOMString language, NamedNode datatype) >> >> Which is very sad. Before this equality issue came up the API was quite >> nice to use, you could do createLiteral(10.3) and that would >> automatically create the appropriately typed Literal. >> >> A key problem is that if a graph is created from a serialization which >> contains the following: >> >> <a> <b> "100"^^xsd:double . >> <a> <b> "1E2"^^xsd:double . >> <a> <b> "1e2"^^xsd:double . >> <a> <b> "+100"^^xsd:double . >> <a> <b> "+1E2"^^xsd:double . >> <a> <b> "+1e2"^^xsd:double . >> >> and somebody creates a Literal with the code createLiteral(100, >> "xsd:double"), then: >> >> a) there is no lexical representation to compare against for equality > > Convert the number to a string. Indeed, but to which string? >> b) if equality is done on value space, then it is equal to all those >> terms already in the graph, and further, all those terms are considered >> equal by the API so the graph would only contain one triple. > > You may wish to have 2 notions: "sameTerm" and "sameValue" > > sameTerm is equality at the level of same lexical form/language/datatype/ > > sameValue requires > > In an open systems, sameValue may conclude "don't know", not just true > and false. > > For example: > > samevalue("iiii"^^my:roman, "IV"^^my:roman) > > Does the system understand my:roman? > > If not, then while same lexical/same datatype means true even for > unknown datatypes, here the lexical forms are different hence "don't know" > > If it does understand my:roman, then it can conclude true. Good point, unsure whether it would be good to have that don't know scenario incorporated, if the datatype isn't known then compare lexically seems like a valid option. Best, Nathan
Received on Sunday, 1 May 2011 17:57:22 UTC