Closed hsolbrig closed 6 years ago
I believe new wording is required here. The behavior required by the test suite is actually to support datatypes not listed in SPARQL, but not to require any type inference about them. This is consistent with SPARQL which specifies behavior for e.g. "iv"^^my:romanNumeral
.
We need to enumerate for which datatypes ShEx requires validation of the lexical form. There are currently tests for lexical conformance with the subset of XSD datatypes covered by SPARQL1.1 and numeric range conformance with the subset of derived numeric types covered by SPARQL1.1.
The SPARQL1.1 derived types excludes types derived from xsd:string
. These aren't useful in RDF:
The SPARQL1.1 primative types excludes:
P1Y2MT2H
.The RDF model, amd most serializations of RDF (not RDF/XML) include the character \U0000
so the base64Binary
and hexBinary
datatypes aren't needed.
PROPOSED: ShEx validates lexical forms of:
xsd:date
and xsd:time
.Resolved with votes from @ericprud, @labra, @gkellogg, @hsolbrig, @emulatingkat, @larsgsvensson, @jimkont, @tombaker, and @lucaswerkmeister that reacted with thumbs up on https://github.com/shexSpec/shex/issues/81#issuecomment-368446352
Action before we close: Update the spec accordingly
added this to § 5.4.3 Datatype Constraints:
The lexical form and numeric value (where applicable) of all datatypes required by SPARQL XPath Constructor Functions MUST be tested for conformance with the corresponding XML Schema form. ShEx extensions MAY add support for other datatypes.
Example 1 in 5.4.3 Datatype Constraints has a pass and a fail for
xsd:date
. The spec asserts "Only datatypes supported by SPARQL MUST be tested but ShEx extensions MAY add support for other datatypes. " and, asxsd:date
is not supported by SPARQL, the results of the test are unspecified.