从 DBPedia 获取所有(荷兰语)属性,包括前缀
Get all (Dutch) properties from DBPedia including prefixes
我必须创建一个问答系统,通过它我可以使用 SPARQL 和 DBpedia 回答问题。目前,我必须使用不存在的属性对 DBpedia 进行许多无用的查询。我试图获取所有属性并将其放入 txt 文件中,但是我没有得到它的前缀。
我的 SPARQL 查询如下:
select distinct str(COALESCE(?property2, ?property)) as ?property where
{
?instance a <%s> .
?instance ?property ?obj .
OPTIONAL{?property rdfs:label ?property2}
}
其中 s
也是从 DBpedia 获得的标签的 link(我使用 Python 执行此操作),如下所示:
"http://dbpedia.org/ontology/Amphibian"
"http://dbpedia.org/ontology/AmusementParkAttraction"
"http://dbpedia.org/ontology/AnatomicalStructure"
"http://dbpedia.org/ontology/Animal"
我从查询中得到的输出(CSV 格式)是:
"prijzengeld loopbaan ($)" "Verluste" "casualties" "pertes"
"verliezen" "Kategorie" "categorie"
我想包含前缀,例如:
prop-nl:
dbpedia-owl:
- 等等
特别是 prop-nl
很重要,因为我必须使用荷兰语 属性 名称。
?属性(在查询的where部分)是URI;这就是你真正想要的,不是吗?人类可读的前缀,如 "prop-nl"、"dbpedia-owl" 等,只是某些文本的缩写。并且 DBpedia 实际上更改了他们的一些预定义的,因此 dbpedia-owl:foo
曾经在 public 端点上工作,但现在没有;你必须使用 dbo:foo
。但是 <http://dbpedia.org/ontology/foo>
总是有效的。
但如果那是你想要做的,你可能会在 SPARQL query to get all class label with namespace prefix defined
中找到答案
我必须创建一个问答系统,通过它我可以使用 SPARQL 和 DBpedia 回答问题。目前,我必须使用不存在的属性对 DBpedia 进行许多无用的查询。我试图获取所有属性并将其放入 txt 文件中,但是我没有得到它的前缀。
我的 SPARQL 查询如下:
select distinct str(COALESCE(?property2, ?property)) as ?property where
{
?instance a <%s> .
?instance ?property ?obj .
OPTIONAL{?property rdfs:label ?property2}
}
其中 s
也是从 DBpedia 获得的标签的 link(我使用 Python 执行此操作),如下所示:
"http://dbpedia.org/ontology/Amphibian"
"http://dbpedia.org/ontology/AmusementParkAttraction"
"http://dbpedia.org/ontology/AnatomicalStructure"
"http://dbpedia.org/ontology/Animal"
我从查询中得到的输出(CSV 格式)是:
"prijzengeld loopbaan ($)" "Verluste" "casualties" "pertes"
"verliezen" "Kategorie" "categorie"
我想包含前缀,例如:
prop-nl:
dbpedia-owl:
- 等等
特别是 prop-nl
很重要,因为我必须使用荷兰语 属性 名称。
?属性(在查询的where部分)是URI;这就是你真正想要的,不是吗?人类可读的前缀,如 "prop-nl"、"dbpedia-owl" 等,只是某些文本的缩写。并且 DBpedia 实际上更改了他们的一些预定义的,因此 dbpedia-owl:foo
曾经在 public 端点上工作,但现在没有;你必须使用 dbo:foo
。但是 <http://dbpedia.org/ontology/foo>
总是有效的。
但如果那是你想要做的,你可能会在 SPARQL query to get all class label with namespace prefix defined
中找到答案