On 11/10/13 13:46, Bardo Nelgen wrote:

Dear List,

just ran into an issue with the following filter returning *no* match,
despite the respective elements happily living on the Graph tree.

FILTER ( xsd:dateTime(?Start) < xsd:dateTime(?End) )

Here come the samples:

*Query* (omitted the prefixes, since these obviously work as desired…)

Please do not omit prefixes nor give incomplete data fragments - if someone else is going to execute the query on the data, they need a complete, minimal example.

Your data has:

<timed:hasValidTimeStart rdf:datatype= "urn:ietf:params:xml:schema:dateTime" >2013-09-16T15:48:21Z</timed:hasValidTimeStart> <timed:hasValidTimeEnd rdf:datatype= "urn:ietf:params:xml:schema:dateTime" >2013-09-17T15:48:24Z</timed:hasValidTimeEnd>

"2013-09-16T15:48:21Z"^^<urn:ietf:params:xml:schema:dateTime>

You can not cast a <urn:ietf:params:xml:schema:dateTime> to an xsd:dateTime (unless you add undertanding of <urn:ietf:params:xml:schema:dateTime> to ARQ).

Instead, extract the lexicial part and cast that.

FILTER ( xsd:dateTime(str(?Start)) < xsd:dateTime(str(?End)) )

        Andy



CONSTRUCT {

?PageIRI rdf:type cnt:page ;
dct:Identifier ?uIdentifier ;
dct:hasVersion ?Version .
?Version rdf:type timed:versionedContent ;
dct:title ?Title ;
dct:description ?Description .
}

WHERE {
?PageIRI rdf:type cnt:page ;
dct:Identifier ?uIdentifier ;
dct:hasVersion ?Version .
{

{?Version rdf:type timed:versionedContent ;
dct:publisher "semawine" ;
timed:hasValidTimeStart ?Start ;
timed:hasValidTimeEnd ?End ;
dc:language "de-de" ;
dct:coverage "de" ;
dct:title ?Title ;
cnt:i18nslug "Nicht-gefunden-Fehler-404"@de-de ;
dct:description ?Description .

FILTER langMatches(lang(?Description),"de-de")
}
FILTER langMatches(lang(?Title),"de-de")
}
FILTER ( xsd:dateTime(?Start) < xsd:dateTime(?End) )
}

It's just this very last filter, which does not work (always produces an
empty result).

As soon as I remove the filter, the query instantly produces the desired
result, thus confirming there is nothing wrong e.g. with the causalities
inside the WHERE clause.

The graph in question goes:

<rdf:Description rdf:about=
"http://resources.semaworx.eu/timed/version#versioncrediblyuniqueid010";>
<rdf:type rdf:resource=
"http://namespaces.semaworx.org/timed#versionedContent"/>
<dct:isVersionOf rdf:resource=
"http://resources.semaworx.eu/content/pages/pageincrediblyuniqueid002"; />
<dct:format rdf:resource=
"http://purl.org/NET/mediatypes/application/xhtml+xml"; />
<cnt:webapp>yes</cnt:webapp>
<dc:language>de-de</dc:language>
<dc:language>en-us</dc:language>
<dct:coverage>de</dct:coverage>
<dct:coverage>us</dct:coverage>
<age:x-content-age>14</age:x-content-age>
<cnt:i18nslug xml:lang="de-de">Nicht-gefunden-Fehler-404</cnt:i18nslug>
<cnt:i18nslug xml:lang="en-us">not-found-404-error</cnt:i18nslug>
<dct:title xml:lang="de-de">Fehler 404 – diese Seite gibt es
nicht</dct:title>
<dct:title xml:lang="en-us">Error 404 – page could not be found</dct:title>
<dct:subject>HTTP 404 Fehlerseite</dct:subject>
<dct:description xml:lang="de-de">Hier sind Sie leider total
verkehrt!</dct:description>
<dct:description xml:lang="en-us">Hm. You certainly shouldn't be
here…</dct:description>
<dct:publisher>semawine</dct:publisher>
<dc:creator rdf:resource=
"http://resources.semaworx.eu/ident/user#regUserxxxtheuniqueuserid001xxx"; />

<dct:created>2013-09-10T00:08:00+01:00</dct:created>
<dct:date>2013-09-10T00:08:00+01:00</dct:date>
<gml:Point rdf:resource= "urn:ogc:def:crs:EPSG:6:6:4326" />
<dct:hasPart rdf:resource=
"http://resources.semaworx.eu/content/elements/elementincrediblyuniqueid001";
/>
<dct:hasPart rdf:resource=
"http://resources.semaworx.eu/content/elements/elementincrediblyuniqueid002";
/>
<dct:hasPart rdf:resource=
"http://resources.semaworx.eu/content/elements/elementincrediblyuniqueid003";
/>
<timed:hasValidTimeStart rdf:datatype=
"urn:ietf:params:xml:schema:dateTime"
 >2013-09-16T15:48:21Z</timed:hasValidTimeStart>
<timed:hasValidTimeEnd rdf:datatype=
"urn:ietf:params:xml:schema:dateTime"
 >2013-09-17T15:48:24Z</timed:hasValidTimeEnd>
</rdf:Description>

I'll be very glad to receive any hint on where I may possibly have
gotten the usage wrong.

Best,

Bardo




Reply via email to