Sparql查询使用dbpedia的标准普尔500公司名单的首席执行官的出生地

0 sparql dbpedia

我是sparql的新手.

我想提取美国首席执行官的出生地(他们出生的国家的名字).那些首席执行官应该(现在或过去)是标准普尔指数(https://en.wikipedia.org/wiki/List_of_S%26P_500_companies)列表中公司的首席执行官.我很挣扎,因为我不知道如何将首席执行官与公司联系起来,或者根据他们所工作的公司过滤首席执行官.我想知道你是否可以帮我写一个在dbpedia中运行的sparql查询.

最终数据集应该有几个列:CEO姓名,出生地(仅限州),出生日期,公司名称(应该是S&P500公司).

我编写的查询没有工作,所以决定不在这里放任何东西并从头开始.

非常感谢,阿里

AKS*_*KSW 5

第一步是确定定义公司CEO的财产:

PREFIX  dbo:  <http://dbpedia.org/ontology/>

SELECT DISTINCT  ?p
WHERE
  { ?s a dbo:Company .
    ?s ?p ?o
    FILTER regex(str(?p), "ceo", "i")
  }
Run Code Online (Sandbox Code Playgroud)

它返回了许多属性:

+--------------------------------------------------------------+
|                              p                               |
+--------------------------------------------------------------+
| http://dbpedia.org/property/ceo                              |
| http://dbpedia.org/property/ceo&Founder                      |
| http://dbpedia.org/property/president&Ceo                    |
| http://dbpedia.org/property/president/ceo                    |
| http://dbpedia.org/property/ceo&Md                           |
| http://dbpedia.org/property/companyCeo                       |
| http://dbpedia.org/property/chairman&Ceo                     |
| http://dbpedia.org/property/georgiGanevPresident&CeoLocation |
| http://dbpedia.org/property/founder&Ceo                      |
| http://dbpedia.org/property/previousCeo                      |
| http://dbpedia.org/property/richardOwen,(ceo)Products        |
| http://dbpedia.org/property/groupPresident&Ceo               |
| http://dbpedia.org/property/owner/founderCoCeo               |
| http://dbpedia.org/property/placeOfBirth                     |
| http://dbpedia.org/property/chairmanAndCeo                   |
| http://dbpedia.org/property/currentCeo                       |
| http://dbpedia.org/property/ceo/cfo                          |
| http://dbpedia.org/property/founder,ceo                      |
| http://dbpedia.org/property/ceoType                          |
| http://dbpedia.org/property/ceoChengLuoKeyPeople             |
| http://dbpedia.org/property/ceo&President                    |
| http://dbpedia.org/property/placeOfDeath                     |
+--------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

其中一些确实可以立即过滤掉,例如http://dbpedia.org/property/placeOfDeath- 或者你会使用更好的正则表达式......

最明显的候选人是http://dbpedia.org/property/ceo,但我们可能会有较低的召回率.

下一步是找出限制公司"标准普尔500指数"的房产.从Wikipedia信息框我只看到"交易为"条目,所以通过SPARQL:

PREFIX  dbo:  <http://dbpedia.org/ontology/>

SELECT DISTINCT  ?p
WHERE
  { ?s a dbo:Company .
    ?s ?p ?o
    FILTER regex(str(?p), "traded", "i")
  }
Run Code Online (Sandbox Code Playgroud)

我们得到了

+----------------------------------------------+
|                      p                       |
+----------------------------------------------+
| http://dbpedia.org/property/tradedAs         |
| http://dbpedia.org/property/tradedUnder      |
| http://dbpedia.org/property/tradedOn         |
| http://dbpedia.org/property/formerlyTradedAs |
| http://dbpedia.org/property/traded           |
+----------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

所以可能http://dbpedia.org/property/tradedAs就是这样.

下一步?使用这些属性并构建最终查询.并希望它返回预期的数据.作为起始查询:

PREFIX  dbo:  <http://dbpedia.org/ontology/>
PREFIX  dbp:  <http://dbpedia.org/property/>

SELECT DISTINCT  ?s
WHERE
  { ?s a dbo:Company .
    ?s dbp:tradedAs <http://dbpedia.org/resource/S&P_500_Index>
  }
Run Code Online (Sandbox Code Playgroud)