On 25/07/2021 14:08, Laura Morales wrote:
What I mean is... (with an example):
As far as I understand, these are valid triples that I can load into
Fuseki/Jena at the same time in the same graph
:alice :age "25"^^xsd:string;
:bob :age "20"^^xsd:integer;
If then I execute this query:
SELECT *
WHERE
{
?s :age ?age .
FILTER (?age < 30)
}
should Jena raise an error (because there is a :age property with a value that
is not integer), or should it simply ignore :alice entirely because the type of
the property (string) doesn't match the type that I'm querying for?
"25"^^xsd:string < 30
is a type error.
Type errors in a FILTER makes the filter false. (It does not become an
overall query error.)
Andy
Sent: Monday, July 19, 2021 at 12:40 PM
From: "Andy Seaborne" <[email protected]>
To: [email protected]
Subject: Re: Does Jena use duck typing?
It store triples/quads.
Think of it as a table of triples and table of quads
Comparison is defined by XQuery/XPath Functions and Operators.
But maybe I don't understand what's behind the question.
On 19/07/2021 07:02, Laura Morales wrote:
How is Jena able to index and search/compare properties with different data
types?
For example if I have this graph
:alice :foobar "2021-07-16"^^xsd:date;
:alice :foobar "foobar"^^xsd:string;
:alice :foobar "42"^^xsd:integer;
You can't compare "2021-07-16"^^xsd:date with an xsd:string or an
xsd:integer.
They have different value spaces.
Andy