我必须创建一个Q &可以使用SPARQL和DBpedia回答问题的系统。目前,我必须使用不存在的属性对DBpedia进行许多无用的查询。我试图获得所有属性并将其放入一个txt文件中,但是我没有得到它的前缀。从DBPedia获取所有(荷兰语)属性,包括前缀
我SPARQL查询如下:
select distinct str(COALESCE(?property2, ?property)) as ?property where
{
?instance a <%s> .
?instance ?property ?obj .
OPTIONAL{?property rdfs:label ?property2}
}
其中s
是一个链接从DBpedia中像下面这样得到很好(我这样做是使用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"
我想拥有前缀s ^包括在内,因此,例如:
prop-nl:
dbpedia-owl:
- 等
尤其是prop-nl
很重要,因为我必须使用荷兰的属性名称。
财产的答案(查询)是URI;这就是你真正想要的,不是吗?人类可读的前缀,如“prop-nl”,“dbpedia-owl”等,仅仅是某些文本的缩写。 DBpedia实际上改变了一些预定义的属性,所以'dbpedia-owl:foo'用于在公共端点上工作,但现在它不会;你必须使用'dbo:foo'。但是''总是可以工作的。 –
但是,如果这就是你想要做的,你可能会在[SPARQL查询中获得所有具有名称空间前缀定义的类标签]的答案(http://stackoverflow.com/questions/17939197/sparql-query-to-get- all-class-label-with-namespace-prefix-defined/17949002) –
谢谢!因此,不要只是询问属性的名称(如prop-nl:jaar),我可以做?所以我想因此我不需要前缀?我想我会这样做,而不是使用您提供的链接手动缩短URI。谢谢! –
DanielsWrath