Sparql dbpediaspotlight:获取相关内容

Sparql dbpediaspotlight:获取相关内容,sparql,semantic-web,dbpedia,spotlight-dbpedia,Sparql,Semantic Web,Dbpedia,Spotlight Dbpedia,我需要得到一个语义上与某个查询相关的“标记”列表:DBpedia页面的字段“dcterms:subject”将是完美的(参见示例)。 我可以使用curlhttppost请求正确地获取与查询相关的dbpediaurl。 这个问题 "text=Michelle%20Obama.&confidence=0.2&support=20"; 返回此对象: { "@text": "Michelle Obama.", "@confidence": "0.2", "@support": "20"

我需要得到一个语义上与某个查询相关的“标记”列表:DBpedia页面的字段“dcterms:subject”将是完美的(参见示例)。 我可以使用curlhttppost请求正确地获取与查询相关的dbpediaurl。 这个问题

"text=Michelle%20Obama.&confidence=0.2&support=20";
返回此对象:

{ "@text": "Michelle Obama.", "@confidence": "0.2", "@support": "20", "@types": "", "@sparql": "", "@policy": "whitelist", "Resources": [ { "@URI": "http://dbpedia.org/resource/Michelle_Obama", "@support": "321", "@types": "DBpedia:OfficeHolder,DBpedia:Person,Schema:Person,Freebase:/award/ranked_item,Freebase:/award,Freebase:/organization/organization_member,Freebase:/organization,Freebase:/book/book_subject,Freebase:/book,Freebase:/celebrities/celebrity,Freebase:/celebrities,Freebase:/people/person,Freebase:/people,Freebase:/tv/tv_actor,Freebase:/tv,Freebase:/education/honorary_degree_recipient,Freebase:/education", "@surfaceForm": "Michelle Obama", "@offset": "0", "@similarityScore": "0.20646192133426666", "@percentageOfSecondRank": "-1.0" }] }

目前,我使用这个对象只是为了获取URL,我使用URL获取DBpedia页面的整个html内容,然后查找我需要的内容(“dcterms:subject”一段),但我认为有一种更有效的方法可以做到这一点,可能是直接从spotlight获取。我如何调整我的查询,只需一篇文章就可以获得该列表(或类似列表)?我甚至不需要链接,只需要一个令牌列表。

如果您想要DBpedia资源的dcterms:subjects,只需通过SPARQL查询即可:

select ?subject { dbpedia:Michelle_Obama dcterms:subject ?subject }

您可以在上运行该查询,并且不难理解如何构造相应的查询URL。也有一些不同的结果格式,所以你可以尝试什么最适合你

如果你所说的代币只是指那些类别的名称,那么你也可以直接索要。以下应该可以,但我现在无法测试它;DBpedia似乎已经崩溃了

select ?subject {
  dbpedia:Michelle_Obama dcterms:subject/rdfs:label ?subject
}