SPARQL DBpedia-使用数字检索属性(DatatypeProperties,xsd)

SPARQL DBpedia-使用数字检索属性(DatatypeProperties,xsd),properties,xsd,numbers,sparql,dbpedia,Properties,Xsd,Numbers,Sparql,Dbpedia,所以我在DBpedia上遇到了一个问题。显然,我可以通过下面的查询从资源中检索任何类型的属性,但是当该属性来自类型DatatypeProperty或只是一个数字xsd:integer或类似的内容时,DBpedia SPARQL端点将返回一个空结果 我想知道为了解决这个问题,我必须改变什么,或者在我当前的查询中包含更好的可选内容 重要提示:德国和人口总数是我的计划中必需的输入。请记住我必须使用它们 prefix rdfs: <http://www.w3.org/2000/01/rdf-sch

所以我在DBpedia上遇到了一个问题。显然,我可以通过下面的查询从资源中检索任何类型的属性,但是当该属性来自类型DatatypeProperty或只是一个数字xsd:integer或类似的内容时,DBpedia SPARQL端点将返回一个空结果

我想知道为了解决这个问题,我必须改变什么,或者在我当前的查询中包含更好的可选内容

重要提示:德国和人口总数是我的计划中必需的输入。请记住我必须使用它们

prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?objectLabel
WHERE {
      ?subject ?predicate ?object ; rdfs:label "Germany"@en . 
      ?predicate rdfs:label "population total"@en . 
      ?object rdfs:label ?objectLabel 
FILTER (LANG(?objectLabel)='en')
}

感谢您的帮助。

DatatypeProperty用于将个人与文字关联,文字不能有任何传出边缘,因此,没有rdfs:label。如果要获得文字的词汇形式,可以使用str函数:

前缀rdfs: 选择不同的str对象作为值 在哪里{ 主语?谓语?宾语;rdfs:标签Germany@en . ?谓词rdfs:标签填充total@en 过滤语言?objectLabel='en' }
非常感谢。数字现在起作用了。是否有一种方法可以将其他属性作为标签返回?我现在得到的是资源。例如。:http://dbpedia.org/resource/valueDo 您有一个示例属性吗?一般来说,如果它是一种资源,那么想法是相同的。使用另一个边缘检索这些资源的标签。这就是SPARQL查询的全部原理。图形模式匹配。不,我的意思是,例如当我usecurrency@en在…上Germany@en我现在找回http://dbpedia.org/resource/Euro. 如果你不明白我的意思。我需要一个查询,可以处理数字,也可以从资源页的正常属性。我给了你答案。添加另一个检索资源对象标签的三重模式。这还不清楚吗?那就做吧。您应该省略谓词标签。否则,它只返回一个数字。一种可能的方法:前缀rdfs:选择不同的值,其中{?主语?谓词?可选;rdfs:标签Germany@en.?谓词rdfs:标签填充total@en.OPTIONAL{?optionalRDFS:label?optionalLabel筛选器LANG?optionalLabel='en'}BIND ifbound?optionalLabel,str?optionalLabel,str?OPTIONAL as?value}