SPARQL 查询中返回值的类型
Type of returned value in SPARQL Query
是否可以知道 SPARQL 查询中 return 值的类型?
例如,是否有定义 ?x ?price ?p 类型的函数
在以下查询中?
SELECT DISTINCT ?x ?price ?p
WHERE {
?x a :Product .
?x :price ?price .
?x ?p ?o .
}
我想知道
typeOf(x) = resource
typeOf(?p) = property
typeOf(?price) = property target etc.
数据类型(?x)
数据类型函数会告诉您结果是资源还是文字,在后一种情况下,它会告诉您确切的数据类型。
例如,以下关于 https://dbpedia.org/sparql
...
的查询
SELECT DISTINCT ?x ?code ?p datatype(?x) datatype(?code) datatype(?p)
WHERE {
?x a dbo:City.
?x dbo:areaCode ?code .
?x ?p ?o .
} limit 1
x
code
p
callret-3
callret-4
callret-5
http://dbpedia.org/resource/Aconchi
"+52 623"
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.w3.org/2001/XMLSchema#anyURI
http://www.w3.org/2001/XMLSchema#string
http://www.w3.org/2001/XMLSchema#anyURI
然而,这不会区分“资源”和“属性”,因为资源可能是 属性。您的意思可能是“个人”和“属性”,但即使 属性 也可以被视为个人,例如在三元组 rdfs:label rdfs:label "label"
.
中
但是您始终可以查询资源的 rdf:type,这可能会给您 rdf:Property、owl:DatatypeProperty 或 owl:ObjectProperty。
是否可以知道 SPARQL 查询中 return 值的类型? 例如,是否有定义 ?x ?price ?p 类型的函数 在以下查询中?
SELECT DISTINCT ?x ?price ?p
WHERE {
?x a :Product .
?x :price ?price .
?x ?p ?o .
}
我想知道
typeOf(x) = resource
typeOf(?p) = property
typeOf(?price) = property target etc.
数据类型(?x)
数据类型函数会告诉您结果是资源还是文字,在后一种情况下,它会告诉您确切的数据类型。
例如,以下关于 https://dbpedia.org/sparql
...
SELECT DISTINCT ?x ?code ?p datatype(?x) datatype(?code) datatype(?p)
WHERE {
?x a dbo:City.
?x dbo:areaCode ?code .
?x ?p ?o .
} limit 1
x | code | p | callret-3 | callret-4 | callret-5 |
---|---|---|---|---|---|
http://dbpedia.org/resource/Aconchi | "+52 623" | http://www.w3.org/1999/02/22-rdf-syntax-ns#type | http://www.w3.org/2001/XMLSchema#anyURI | http://www.w3.org/2001/XMLSchema#string | http://www.w3.org/2001/XMLSchema#anyURI |
然而,这不会区分“资源”和“属性”,因为资源可能是 属性。您的意思可能是“个人”和“属性”,但即使 属性 也可以被视为个人,例如在三元组 rdfs:label rdfs:label "label"
.
但是您始终可以查询资源的 rdf:type,这可能会给您 rdf:Property、owl:DatatypeProperty 或 owl:ObjectProperty。