- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Tue, 12 Sep 2006 15:09:04 +0100
- To: Kendall Clark <kendall@monkeyfist.com>
- CC: dawg mailing list <public-rdf-dawg@w3.org>
Hopefully a report will speed the telecon up (sorry - it's a bit rushed)
ARQ implementation reports and current HP position statements:
(Positions subject to change)
> 3. nonLiteral Value Testing
>
> http://lists.w3.org/Archives/Public/public-rdf-dawg/2006JulSep/0199.html
> http://www.w3.org/2001/sw/DataAccess/issues#nonliteralValueTesting
>>>> ILLFORMED LITERAL TESTING
ARQ implements:
datatype("-5"^^xsd:positiveInteger) = xsd:positiveInteger
xsd:positiveInteger("-5") => error
datatype is an accessor (like str() and lang())
datatype("<"^^rdf:xmlLiteral) => rdf:xmlLiteral
[[ Discussion:
Arguably that's wrong, but rdf:xmlLiteral is not required datatype in SPARQL.
As rdf:xmlLiteral must be exclusively canonicalized
(http://www.w3.org/TR/rdf-concepts/#section-XMLLiteral)
they require an XML parser.
]]
ARQ treats "-5"^^xsd:positiveInteger is an RDF literal (informally, think of
RDF literal as the super type of all literals).
Position: No change to the design of datatype.
>>>> NON LITERAL VALUE testing
Postion:
>>>> 1) Restrict value testing to data values with literal form
is fine if the reading for "value testing" applies to value comparison
operations "<" and ">". "=" works as sameTerm on non-literal forms.
"abc"^^xsd:integer = "abc"^^xsd:integer ==> true
FILTERs and non-value functions still apply to non-literals (like IRIs) and
literals which are invalid by datatype entailment.
http://lists.w3.org/Archives/Public/public-rdf-dawg/2006JulSep/0139.html
"""
I suspect most people expect that
if I put ^^xsd:integer in there that i get an object that is an
integer!
"""
In ARQ, "abc"^^xsd:integer is an RDF literal which does not have an integer value.
> 4. contradictoryKB
>
> http://www.w3.org/2001/sw/DataAccess/issues#contradictoryKB
> http://lists.w3.org/Archives/Public/public-rdf-dawg/2006JulSep/0119.html
Proposal:
Entailment regimes define what is (in)consistent.
SPARQL does not define what happens to query on an inconsistent graph
Rational: It would ideal to define what happens but the case of wanting to
find illegal literals in a graph compared with allowing extensibility to
reasoner-backed datasets means that one design will not cover all cases.
>
> 5. formsOfDistinct
>
> http://lists.w3.org/Archives/Public/public-rdf-dawg/2006JulSep/0200.html
> http://www.w3.org/2001/sw/DataAccess/issues#formsOfDistinct
HP position:
Two different solutions in a DISTINCT result set differ by one or more
bindings. One binding is different from another if they refer to different
variables or the values are RDFterm-different. DISTINCT is term-DISTINCT as
defined for SPARQL (simple entailment).
>
> 6. unbound variables in FILTER
>
> http://lists.w3.org/Archives/Public/public-rdf-dawg/2006JulSep/0206.html
Acceptable.
[[
My preference is that functions can see unbound variables - each function then
decides what to do. ARQ provides, for debugging:
FILTER(:print(?x))
prints the value of ?x or "unbound" and returns true.
]]
Received on Tuesday, 12 September 2006 14:09:35 UTC