Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Done
-
None
Description
In the memory model xsd:anyURI matches in Graph.find an xsd;string with the same lexical form.
"http://example/"^xsd:anyURI matches "http://example/"^xsd:string and "http://example/"
This is because the value returned by Xerces is a Java string and isEqual in XSDDatatype is based on equality of Xerces value regerdless of datatype to account for derived types.
The proposed solution in the patch is to have a new XSD datatype that uses the BaseDatatype isEquals machinery which makes equity "same datatype, same value".
Also applies to xsd:QName, xsd:IDREF, xsd:NOTATION