获取所有(荷兰)属性,包括前缀,从DBPedia中

2024-04-27 04:51:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须创建一个问答系统,使用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获得的标签的链接(我使用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很重要,因为我必须使用荷兰语属性名。你知道吗


Tags: 文件instanceorgtxthttp属性系统nl
1条回答
网友
1楼 · 发布于 2024-04-27 04:51:25

?属性(在查询的部分,其中是URI;这是您真正想要的,不是吗?人类可读的前缀,如“prop nl”、“dbpedia owl”等,只是一些文本的缩写。DBpedia实际上更改了一些预定义的,所以dbpedia-owl:foo以前用于公共端点,但现在没有了;您必须使用dbo:foo。但是<http://dbpedia.org/ontology/foo>总是有效的。你知道吗

但是如果你想这样做,你可以在SPARQL query to get all class label with namespace prefix defined中找到答案

相关问题 更多 >