I think DATATYPE() is what you are looking for:
https://kgdev.net/specifications/sparql11-query/expressions/SparqlOps/func-rdfTerms/#func-datatype


On Thu, 26 Oct 2023 at 11.17, Steve Vestal <steve.ves...@galois.com> 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