gpt4 book ai didi

json - 使用 JSON API 查找 DBpedia gloss

转载 作者:行者123 更新时间:2023-12-01 11:37:11 25 4
gpt4 key购买 nike

是否有使用 DBpedia JSON API 快速轻松地在 DBpedia 中查找特定 URI 的 Wikipedia gloss 文本?

例如我可以通过下载 http://dbpedia.org/data/Cat.json 获得 DBpedia 关于猫的所有三元组,但我想要的只是带有 {"type": "literal"...} 的三元组。我可以在不下载和解析整个 JSON 输出的情况下得到这个吗? JSON API 似乎不支持任何类型的过滤,而且我找不到任何文档。

最佳答案

听起来您正在寻找的是 [dbpedia:Cat ?p ?o] 形式的所有三元组,其中 ?o 是文字。您可以通过针对 public DBpedia endpoint 的 SPARQL CONSTRUCT 查询获得那些并以 RDF/JSON 格式请求结果。

construct where {
dbpedia:Cat ?p ?o
filter isLiteral(?o)
}

SPARQL results

构造查询是 SPARQL 标准的一部分,在 16.2 CONSTRUCT 中有描述。 .如果您使用 sparql-client for Python (虽然这个问题没有语言标签,所以没有理由假设一般读者会这样),请注意 its documentation说:

sparql-client is a SPARQL query library that performs SELECT and ASK queries against a SPARQL endpoint via HTTP.

由于此特定客户端不支持 CONSTRUCT 查询,因此您需要改用 SELECT 查询。您可以使用:

select ?p ?o { 
dbpedia:Cat ?p ?o
filter isLiteral(?o)
}

SPARQL results

生成的 JSON 格式不完全相同,但它仍然很规则,您可以轻松处理它:

{ "head": { "link": [], "vars": ["p", "o"] },
"results": { "distinct": false, "ordered": true, "bindings": [
{ "p": { "type": "uri", "value": "http://dbpedia.org/ontology/abstract" } , "o": { "type": "literal", "xml:lang": "nl", "value": "De kat of huiskat (Felis catus) is een van de oudste huisdieren van de mens. De gedomesticeerde kat behoort tot de familie der katachtigen (Felidae). De oude soortnaam was Felis domesticus, tegenwoordig is deze vervangen door Felis catus. Eind 2009 waren in Nederland ongeveer 3,6 miljoen katten aanwezig." }},

{ "p": { "type": "uri", "value": "http://dbpedia.org/ontology/conservationStatus" } , "o": { "type": "literal", "xml:lang": "en", "value": "DOM" }},
{ "p": { "type": "uri", "value": "http://dbpedia.org/ontology/synonym" } , "o": { "type": "literal", "xml:lang": "en", "value": "Felis catus domestica (invalid junior synonym)" }},
{ "p": { "type": "uri", "value": "http://dbpedia.org/ontology/synonym" } , "o": { "type": "literal", "xml:lang": "en", "value": "Felis silvestris catus (subjective synonym)" }},
{ "p": { "type": "uri", "value": "http://dbpedia.org/ontology/wikiPageID" } , "o": { "type": "typed-literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "6678" }},
{ "p": { "type": "uri", "value": "http://dbpedia.org/ontology/wikiPageRevisionID" } , "o": { "type": "typed-literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "547667240" }},
{ "p": { "type": "uri", "value": "http://www.w3.org/2000/01/rdf-schema#label" } , "o": { "type": "literal", "xml:lang": "zh", "value": "\u732B" }},
{ "p": { "type": "uri", "value": "http://www.w3.org/2000/01/rdf-schema#label" } , "o": { "type": "literal", "xml:lang": "de", "value": "Hauskatze" }},

关于json - 使用 JSON API 查找 DBpedia gloss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25559605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com