In Turtle

writing
    123
is a short form for
    "123"^^xsd:integer.

So they are typed, just written in a special way.

    Andy

PS Looks like you are storing your data in TDB.

xsd:int became xsd:integer (TDB1 does not preserve the derived datatype details)


On 27/12/17 19:34, John James wrote:
I was playing around with some queries I run elsewhere and came up with what struck me as an oddity. I am inserting triples as integers. When running a SELECT query and retrieving them as JSON results, I get back literals with the integer type. When I run a CONSTRUCT query and bring back the triples, the datatype on the objects are not explicitly stated. Is there an optional reason for this that I've just not run into elsewhere?

John



[john] bin/s-update --verbose --service=http://localhost:3030/stress/update  --file=update1.sparql

update1.sparql:

prefix myjunk:<http://testing.com/triples/>
prefix xs:<http://www.w3.org/2001/XMLSchema#>

insert data {
   graph myjunk:TestIds {
     myjunk:Test_44522 myjunk:TestId "44522"^^xs:int .
     myjunk:Test_2799404 myjunk:TestId "2799404"^^xs:int .
     myjunk:Test_5566 myjunk:TestId "5566"^^xs:int .
     myjunk:Test_34892 myjunk:TestId "34892"^^xs:int .
     myjunk:Test_444 myjunk:TestId "444"^^xs:int .
     myjunk:Test_274034549 myjunk:TestId "274034549"^^xs:int .
     myjunk:Test_43589345 myjunk:TestId "43589345"^^xs:int .
   }
}



SPARQL-Updatehttp://localhost:3030/stress/update
POSThttp://localhost:3030/stress/update
   User-Agent:          SOH/Fuseki 0.0.2
   Content-Type:        application/sparql-update
204 No Content
   Date:                Wed, 27 Dec 2017 19:13:15 GMT
   Fuseki-Request-Id:   26
   Server:              Fuseki (2.3.1)

[john] bin/s-query --verbose --service=http://localhost:3030/stress/query  --file=query2.sparql --post


query2.sparql:

prefix myjunk:<http://testing.com/triples/>
prefix xs:<http://www.w3.org/2001/XMLSchema#>

select ?s ?p ?o
where {
   graph myjunk:TestIds {
     ?s ?p ?o .
   }
}


SPARQLhttp://localhost:3030/stress/query
POSThttp://localhost:3030/stress/query
   User-Agent:          SOH/Fuseki 0.0.2
  Accept:              application/sparql-results+json , application/sparql-results+xml;q=0.9 , text/turtle;charset=utf-8 , application/n-triples;q=0.9 , application/rdf+xml;q=0.8 , application/ld+json;q=0.5 , */*;q=0.1
   Content-Type:        application/x-www-form-urlencoded
   Content-Length:      250
200 OK
   Date:                Wed, 27 Dec 2017 19:13:20 GMT
   Fuseki-Request-Id:   27
   Server:              Fuseki (2.3.1)
   Cache-Control:       must-revalidate,no-cache,no-store
   Pragma:              no-cache
   Content-Type:        application/sparql-results+json; charset=utf-8
   Transfer-Encoding:   chunked
{
   "head": {
     "vars": [ "s" , "p" , "o" ]
   } ,
   "results": {
     "bindings": [
       {
        "s": { "type": "uri" , "value":"http://testing.com/triples/Test_44522"  } ,         "p": { "type": "uri" , "value":"http://testing.com/triples/TestId"  } ,         "o": { "datatype":"http://www.w3.org/2001/XMLSchema#integer"  , "type": "typed-literal" , "value": "44522" }
       } ,
       {
        "s": { "type": "uri" , "value":"http://testing.com/triples/Test_2799404"  } ,         "p": { "type": "uri" , "value":"http://testing.com/triples/TestId"  } ,         "o": { "datatype":"http://www.w3.org/2001/XMLSchema#integer"  , "type": "typed-literal" , "value": "2799404" }
       } ,
       {
        "s": { "type": "uri" , "value":"http://testing.com/triples/Test_5566"  } ,         "p": { "type": "uri" , "value":"http://testing.com/triples/TestId"  } ,         "o": { "datatype":"http://www.w3.org/2001/XMLSchema#integer"  , "type": "typed-literal" , "value": "5566" }
       } ,
       {
        "s": { "type": "uri" , "value":"http://testing.com/triples/Test_34892"  } ,         "p": { "type": "uri" , "value":"http://testing.com/triples/TestId"  } ,         "o": { "datatype":"http://www.w3.org/2001/XMLSchema#integer"  , "type": "typed-literal" , "value": "34892" }
       } ,
       {
        "s": { "type": "uri" , "value":"http://testing.com/triples/Test_444"  } ,         "p": { "type": "uri" , "value":"http://testing.com/triples/TestId"  } ,         "o": { "datatype":"http://www.w3.org/2001/XMLSchema#integer"  , "type": "typed-literal" , "value": "444" }
       } ,
       {
        "s": { "type": "uri" , "value":"http://testing.com/triples/Test_274034549"  } ,         "p": { "type": "uri" , "value":"http://testing.com/triples/TestId"  } ,         "o": { "datatype":"http://www.w3.org/2001/XMLSchema#integer"  , "type": "typed-literal" , "value": "274034549" }
       } ,
       {
        "s": { "type": "uri" , "value":"http://testing.com/triples/Test_43589345"  } ,         "p": { "type": "uri" , "value":"http://testing.com/triples/TestId"  } ,         "o": { "datatype":"http://www.w3.org/2001/XMLSchema#integer"  , "type": "typed-literal" , "value": "43589345" }
       }
     ]
   }
}
[john] bin/s-query --verbose --service=http://localhost:3030/stress/query  --file=query3.sparql --post

query3.sparql:

prefix myjunk:<http://testing.com/triples/>
prefix xs:<http://www.w3.org/2001/XMLSchema#>

construct {
   ?s myjunk:TestId ?o .
}
where {
   graph myjunk:TestIds {
     ?s myjunk:TestId ?o .
   }
}


SPARQLhttp://localhost:3030/stress/query
POSThttp://localhost:3030/stress/query
   User-Agent:          SOH/Fuseki 0.0.2
  Accept:              application/sparql-results+json , application/sparql-results+xml;q=0.9 , text/turtle;charset=utf-8 , application/n-triples;q=0.9 , application/rdf+xml;q=0.8 , application/ld+json;q=0.5 , */*;q=0.1
   Content-Type:        application/x-www-form-urlencoded
   Content-Length:      290
200 OK
   Date:                Wed, 27 Dec 2017 19:13:26 GMT
   Fuseki-Request-Id:   28
   Server:              Fuseki (2.3.1)
   Cache-Control:       must-revalidate,no-cache,no-store
   Pragma:              no-cache
   Content-Type:        text/turtle; charset=utf-8
   Transfer-Encoding:   chunked
<http://testing.com/triples/Test_274034549>
         <http://testing.com/triples/TestId>
                 274034549 .

<http://testing.com/triples/Test_444>
         <http://testing.com/triples/TestId>
                 444 .

<http://testing.com/triples/Test_44522>
         <http://testing.com/triples/TestId>
                 44522 .

<http://testing.com/triples/Test_2799404>
         <http://testing.com/triples/TestId>
                 2799404 .

<http://testing.com/triples/Test_5566>
         <http://testing.com/triples/TestId>
                 5566 .

<http://testing.com/triples/Test_34892>
         <http://testing.com/triples/TestId>
                 34892 .

<http://testing.com/triples/Test_43589345>
         <http://testing.com/triples/TestId>
                 43589345 .
[john]


Reply via email to