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
Sent: Friday, July 16, 2021 at 10:06 AM
From: "Andy Seaborne" <[email protected]>
To: [email protected]
Subject: Re: Does Jena use duck typing?
Literals are always datatyped in RDF. No guessing.
There syntax conveniences:
"abc" is the same as writing "abc"^^xsd:string.
The specs say to prefer writing output without ^^xsd:string.
In Turtle and related syntaxes:
42 is an xsd:integer == "42"^^xsd:integer
42.99 is an xsd:decimal
42e0 is an xsd;double.
"2021-07-16" is string.
"2021-07-16"^^xsd;date is a date.
and language strings "abc"@en have datatype rdf:langString.
On 16/07/2021 08:35, Laura Morales wrote:
When I insert new triples into a Jena/Fuseki store, are *all* the quoted
literals treated as strings by default unless I specify the type explicitly
(eg. xsd:dateTime)? Or does Jena use duck typing to determine the best type fit
for storing the value?
What about numbers instead? Will Jena store 42 as an xsd:integer and 42.99 as
xsd:double if I don't explicitly write the type?
How can I specify a set of constraints in Fuseki for all the properties of my model? For
example "this property is a double, with range [1.0 .. 2.0]" (the same way that
I can specify constraints on Postgres for example)?
Using ontology/schema/shapes.
Andy