2017-03-13 2 views
0

Ich habe diese Ontologie-Modell:SPARQL Wie die Daten ohne Datenschema drucken

SensorOntology:MedicalCabinet-01 rdf:type owl:NamedIndividual , 
           SensorOntology:MedicalCabinetSensor ; 
         SensorOntology:hasId "57"^^xsd:int ; 
         SensorOntology:hasValue "0"^^xsd:int . 

ich diese Abfrage schrieb

SELECT ?sensor ?value 
WHERE { ?sensor:hasId "51"^^xsd:int. 
     ?sensor :hasValue ?value} 

Das Ergebnis ist das

sensor   | value 
------------------------------------------------------------------------- 
    MedicalCabinet-01 | "0"^^<http://www.w3.org/2001/XMLSchema#int> 

es ist jede Möglichkeit, dies zu drucken:

sensor   | value 
------------------------------------------------------------------------- 
    MedicalCabinet-01 | 0 

Ich will nicht der Datentyp IRI des RDF ^^<http://www.w3.org/2001/XMLSchema#int>

Antwort

1

Was Sie bedeuten und drucken möchten wörtlichen wegzulassen ist:

in einer RDF-Graph Eine wörtliche besteht aus zwei oder drei Elementen :

  • a lexikalische Form, ein Unicode [UNICODE] String ist, der in Normalform C [NFC],
  • sollte
  • a Datentyp IRI, ein IRI wobei ein Datentyp zu identifizieren, die, wie die lexikalische Form Karten auf einen Literalwert, und
  • ...

Die lexikalische Form eines Literal kann bestimmt von der Funktion STR zurückgegeben werden (beachten Sie, es wird dann eine Zeichenfolge sein):

SELECT ?sensor (STR(?val) as ?value) 
WHERE { ?sensor:hasId "51"^^xsd:int. 
     ?sensor :hasValue ?val}