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?


Reply via email to