如何在sparql中编写查询以从dbpedia中提取这些特定数据?它是否可行,如果是,应该查询什么?

时间:2015-04-05 10:00:44

标签: sparql dbpedia wikipedia-api

这是link我想查询它

我想提取云提供商的列表,然后通过每个云提供商我提取他们的抽象,他们的公司链接和他们的名字,如果他们有我想要的产品名称。例如在aws的情况下:&& #34; http://en.wikipedia.org/wiki/Amazon_Web_Services",有一个对我很重要的内容表,我不知道如何提取特定属性。
如果有人对此类案件有任何经验,我将不胜感激地帮助我。

1 个答案:

答案 0 :(得分:0)

编写查询以检索处于活动状态的公司可以使用其名称category:Cloud_computing_providers及其网页foaf:name进行计算foaf:homepage非常简单。

select distinct *
where {
    ?company dcterms:subject category:Cloud_computing_providers.
    ?company foaf:name ?name.
    ?company foaf:homepage ?homepage
} 

我不知道抽象是什么意思。你是说公司的描述吗?如果是这样,您需要将以下行添加到查询?company dbpedia-owl:abstract ?abstract

正如您所指出的,并非所有公司都有产品(dbpedia-owl:product)。因此,您需要为此查询添加一个可选点:

select distinct *
where {
    ?company dcterms:subject category:Cloud_computing_providers.
    ?company foaf:name ?name.
    ?company foaf:homepage ?homepage.
    ?company dbpedia-owl:abstract ?abstract.
    Optional{?company dbpedia-owl:product ?product.}
} 

我也不知道你对内容表的意思。你需要弄清楚你需要什么。但要仅为亚马逊网络服务过滤它,您需要将其添加到查询的末尾:

select distinct *
where {
    ?company dcterms:subject category:Cloud_computing_providers.
    ?company foaf:name ?name.
    ?company foaf:homepage ?homepage.
    ?company dbpedia-owl:abstract ?abstract.
    Optional{?company dbpedia-owl:product ?product.}
    Filter (str(?name)="Amazon Web Services")
}