我想通过SPARQL查询添加这些三元组到我的图表
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:my="http://example.com/ontology#">
<rdf:Description rdf:about="http:/example.com/entity/thisEntity">
<rdf:type rdf:resource="http://example.com/ontology#Identification" />
<my:someID rdf:datatype="http://www.w3.org/2001/XMLSchema#string">003</my:someID>
<my:hasSource rdf:resource="http:/example.com/entity/thisSource" />
</rdf:Description>
</rdf:RDF>
我应该如何指定第三个三元组的数据类型?
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX my: <http://example.com/ontology#>
INSERT DATA {
<http:/example.com/entity/thisEntity> rdf:type <http://example.com/ontology#Identification>;
my:hasSource <http:/example.com/entity/thisSource>;
my:someID "003"@xsd:string.
}
答案 0 :(得分:1)
你快到了。 @
用于语言标记。通过使用^^
分隔符来追加数据类型。所以使用"003"^^xsd:string
。
您还需要为更新添加名称空间前缀:
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
顺便说一句:在RDF 1.1中,xsd:string
是任何文字的默认数据类型,它没有明确定义的数据类型,也没有语言标记。因此"003"
和"003"^^xsd:string
都是相同的,字符串类型,文字。