Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sparql 给出公司名称列表,如何获取公司名称、网站url、成立年份、员工人数等_Sparql_Dbpedia - Fatal编程技术网

Sparql 给出公司名称列表,如何获取公司名称、网站url、成立年份、员工人数等

Sparql 给出公司名称列表,如何获取公司名称、网站url、成立年份、员工人数等,sparql,dbpedia,Sparql,Dbpedia,我有一个公司名称列表,如Microsoft Corp、Kimberly Clark Corporation等,对于每个公司,我希望检索以下字段: 它的公司标志 谷歌地图的地理标识 网站网址 成立年份 证券交易所和证券交易所股票代码 了解过去几天股价的方法 关于/摘自维基百科 子公司和母公司的列表。例如,对于波音公司来说,它将是Jeppessen和Avill,Inc.等。 我已经研究了Sparql和Dbpedia。关于如何使用sparql查询来检索其中一些信息,有什么建议吗?我不需要检索所有字段,

我有一个公司名称列表,如Microsoft Corp、Kimberly Clark Corporation等,对于每个公司,我希望检索以下字段:

它的公司标志 谷歌地图的地理标识 网站网址 成立年份 证券交易所和证券交易所股票代码 了解过去几天股价的方法 关于/摘自维基百科 子公司和母公司的列表。例如,对于波音公司来说,它将是Jeppessen和Avill,Inc.等。 我已经研究了Sparql和Dbpedia。关于如何使用sparql查询来检索其中一些信息,有什么建议吗?我不需要检索所有字段,只需要几个字段就可以开始了


谢谢

您可以从以下sparql查询开始。它检索名称为=Apple Inc.的主题的所有三元组

select distinct ?subject ?predicate ?object where { 
  ?subject ?predicate ?object .
  ?subject <http://xmlns.com/foaf/0.1/name> "Apple Inc."@en .
}

您可以开始使用如下查询:

select * where {
  values ?company { dbpedia:Microsoft
                    <http://dbpedia.org/resource/Apple_Inc.>
                    dbpedia:Kimberly-Clark
                  } 
  OPTIONAL { { ?company dbpprop:logo ?logo  FILTER(isIRI(?logo)) }
             UNION 
             { ?company foaf:depiction ?logo FILTER(isIRI(?logo)) } }
  OPTIONAL { ?company dbpedia-owl:abstract ?abstract 
             FILTER(langMatches(lang(?abstract),"EN")) }
  OPTIONAL { ?company geo:lat ?latitude ;
                      geo:long ?longitude }
  OPTIONAL { ?company dbpedia-owl:foundingDate ?foundingDate }
  OPTIONAL { ?company dbpedia-owl:wikiPageExternalLink ?externalLink }
  OPTIONAL { ?company dbpprop:symbol ?stockSymbol }
  OPTIONAL { ?company dbpedia-owl:subsidiary ?subsidiaryPage }
}
我是根据我在DBpedia页面上看到的、和的属性创建的。数据不是特别干净,因此,我在查询中添加了几个过滤器:

并非所有这些都列出了子公司,Microsoft的subsidiary属性与subsidiary无关,而是一个可能列举了一些子公司的页面

一些公司的标识信息不好,因此使用isIRI进行过滤。例如,苹果的dbpprop:logo是整数150。我认为这来自维基百科信息框行| logo=[[File:{{{property:p154}}}| 150px]],其中150被拉出,而不是一个更有意义的值。通过isIRI进行过滤有一点帮助

一些公司有多个成立日期。我不知道你如何决定使用多个选项中的哪一个

虽然公司页面通常作为外部链接列出,但并非所有与页面关联的外部链接都是公司页面。我不知道你怎么能选择一个作为公司页面


综上所述,您似乎可以从DBpedia中获得大量此类信息。

我将要解决一个类似的问题,并希望了解您的进展情况。我正在执行相同的任务,尽管SPARQL的结果非常巨大。为什么会这样?我所追求的只是一套带有徽标和公司名称的结果。“这可能吗?”格雷注意到这个问题已经有了答案。
select * where {
  values ?company { dbpedia:Microsoft
                    <http://dbpedia.org/resource/Apple_Inc.>
                    dbpedia:Kimberly-Clark
                  } 
  OPTIONAL { { ?company dbpprop:logo ?logo  FILTER(isIRI(?logo)) }
             UNION 
             { ?company foaf:depiction ?logo FILTER(isIRI(?logo)) } }
  OPTIONAL { ?company dbpedia-owl:abstract ?abstract 
             FILTER(langMatches(lang(?abstract),"EN")) }
  OPTIONAL { ?company geo:lat ?latitude ;
                      geo:long ?longitude }
  OPTIONAL { ?company dbpedia-owl:foundingDate ?foundingDate }
  OPTIONAL { ?company dbpedia-owl:wikiPageExternalLink ?externalLink }
  OPTIONAL { ?company dbpprop:symbol ?stockSymbol }
  OPTIONAL { ?company dbpedia-owl:subsidiary ?subsidiaryPage }
}