【问题标题】:Get Attribute names using SPARQL from DBpedia使用来自 DBpedia 的 SPARQL 获取属性名称
【发布时间】:2016-06-21 09:50:23
【问题描述】:

我有一个获取一些对象和属性的查询。 例如

PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> 
SELECT DISTINCT * {
?company a <http://dbpedia.org/ontology/Company> . 
OPTIONAL { 
?company <http://dbpedia.org/ontology/industry> ?industry . 
}
OPTIONAL { 
?company <http://dbpedia.org/ontology/revenue> ?revenue_ . 
}
OPTIONAL { 
?company <http://dbpedia.org/ontology/homepage> ?homepage_ . 
}
OPTIONAL { 
?company <http://dbpedia.org/ontology/industry> ?industry_ . 
}
OPTIONAL { 
?company <http://dbpedia.org/ontology/location> ?location_ . 
}
}LIMIT 200

我得到了一些结果,例如

但我真正想要的是一个简单的属性字符串。像

company         industry         revenue         homepage         location
Argonon         Digital media    5.0E7                            United Kingdom

如何创建查询来获取属性的名称?

【问题讨论】:

  • 据我了解,您需要值的“名称”(三元组对象),而不是属性。如果我理解正确,您可以通过&lt;http://dbpedia.org/ontology/industry&gt;/rdfs:label 获取它们,但如果有些没有标签,您会在结果中错过它们。
  • 谢谢@IvoVelitchkov,这正是我想要的。如果您将其发布为答案,如果没有人发布更好的内容,我可以投票并接受它。

标签: sparql owl dbpedia


【解决方案1】:

听起来您只想获取其中一些值的 rdfs:label。您可以通过跟随属性然后 rdfs:label 使用属性路径来做到这一点。您可能还想根据标签的语言进行过滤。您的查询的另一个问题是 homepage 属性实际上应该是 dbp:property,而不是 dbo:property。一旦你这样做了,你就会得到这个查询:

PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> 
SELECT DISTINCT * {
?company a <http://dbpedia.org/ontology/Company> . 
OPTIONAL { 
?company <http://dbpedia.org/ontology/industry>/rdfs:label ?industry . 
filter langMatches(lang(?industry),"en")
}
OPTIONAL { 
?company <http://dbpedia.org/ontology/revenue> ?revenue_ . 
}
OPTIONAL { 
?company <http://dbpedia.org/property/homepage> ?homepage_ . 
}
OPTIONAL { 
?company <http://dbpedia.org/ontology/industry>/rdfs:label ?industry_ . 
filter langMatches(lang(?industry_),"en")
}
OPTIONAL { 
?company <http://dbpedia.org/ontology/location>/rdfs:label ?location_ . 
filter langMatches(lang(?location_),"en")
}
}LIMIT 200

SPARQL results

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 2014-03-17
    • 1970-01-01
    相关资源
    最近更新 更多