Literal dataLiteral = resultGraph.createTypedLiteral(objectDataValue);
System.err.println("objectLiteral: " + objectDataValue + " " +
dataLiteral.getDatatypeURI());
always says type is http://www.w3.org/2001/XMLSchema#string
On 10/26/2023 5:26 AM, Martynas Jusevičius wrote:
You need Model::createTypedLiteral
https://jena.apache.org/documentation/notes/typed-literals.html#basic-api-operations
On Thu, 26 Oct 2023 at 12.24, Steve Vestal <steve.ves...@galois.com> wrote:
If I reconstruct using
Literal dataLiteral = resultGraph.createLiteral(objectDataValue);
it always says the type is string
1^^xsd:string
stringB^^ xsd:string
123.456^^xsd:string
2023-10-06T12:05:10Z^^xsd:string
On 10/26/2023 4:17 AM, Steve Vestal wrote:
What is the best way to reconstruct a typed Literal from a SPARQL
SELECT result?
I have a SPARQL SELECT query issued against an OntModel in this way:
QueryExecution structureRowsExec =
QueryExecutionFactory.create(structureRowsQuery, owlOntModel);
Here are some example triples in the query:
?a2
<
http://www.galois.com/indigo/test/structure_datatypes_test#floatProperty>
?dataVar1.
?a2
<
http://www.galois.com/indigo/test/structure_datatypes_test#dateTimeProperty>
?dataVar2.
The OntModel being queried was created using typed literals, e.g.,
DataPropertyAssertion( struct:floatProperty struct:indivA2
"123.456"^^xsd:float )
DataPropertyAssertion( struct:dateTimeProperty struct:indivA2
"2023-10-06T12:05:10Z"^^xsd:dateTime )
When I look at the ?dataVar1 and ?dataVar2 results in a row, I get
things like:
1
stringB
123.456
2023-10-06T12:05:10Z
What is a good way to reconstruct a typed Literal from the query
results? Is there a SPARQL option to show full typed literal strings?
Something that can be added to the query? A utility method that can
identify the XSD schema simple data type when given a result value
string?