- 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