2016-08-12 2 views
0

私はsparqlを全く新しくしています。S&P 500のCEOの出身地のSparqlクエリdbpediaを使用している企業のリスト

アメリカのCEO(生まれた国の名前)の発祥の地を抽出したいと思います。これらのCEOは、S & Pインデックス(https://en.wikipedia.org/wiki/List_of_S%26P_500_companies)のリストにある企業のCEOを(現在または過去に)務めていたはずです。私はCEOと会社をリンクさせる方法や、彼らが働いていた会社に基づいてCEOをフィルタリングする方法を知らないので、苦労しています。あなたがdbpediaで動作するsparqlクエリを書くのを助けることができるかどうかは疑問でした。

最終データセットには、CEO名、出身地(唯一の州)、生年月日、会社名(S & P500会社である必要があります)の列が必要です。

私が書いた質問のうち、ここでは何も書いておらず、最初からやり直すことにしました。

多くのおかげで、 アリ

答えて

4

最初のステップは、同社の最高経営責任者(CEO)を定義するプロパティ(IES)を決定するために、次のようになります。

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

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

これは、プロパティの多くを返します。

+--------------------------------------------------------------+ 
|        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      | 
+--------------------------------------------------------------+ 

これらのうちのいくつかは、実際には即座に除外することができます。 http://dbpedia.org/property/placeOfDeath - またはより良い正規表現を使用する...

最も明白な候補者はhttp://dbpedia.org/property/ceoですが、リコール率は低くなる可能性があります。

次のステップは、企業を「S & P500」に制限するプロパティを見つけることです。ウィキペディアのインフォボックスから、私は唯一のSPARQLを経由して、エントリ「として取引」を参照してください。

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

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

私たちは、だから、http://dbpedia.org/property/tradedAsが進むべき道であることかもしれない

+----------------------------------------------+ 
|      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   | 
+----------------------------------------------+ 

を取得します。

次の手順は?それらのプロパティを使用して、最終クエリを作成します。期待されるデータを返すことを願っています。最初のクエリとして:

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> 
    } 
+0

まだもう一つ問題があります。最終的な質問はS&P500の企業名(私が望むもの)を返しますが、最終結果にはこれらの企業のCEOとその出身地の名前を付ける必要があります。私はいくつかの選択肢を試しましたが、そのうちのどれも働いていないようです。私があなたにこれを手伝ってくれるかどうか疑問に思っていました。ありがとうございました。 – Ali

+0

私は、CEOを得るための多くの候補者のproeprtiesがあることを示しました。あなたは本当に私の答えを読んだのですか?これは、最後のSPARQLクエリの出発点に過ぎませんでした。たとえば、 'dbp:ceo'プロパティを別のトリプルパターンで追加しようとします。あなたは、4つの企業だけがそのプロパティを介してCEOについての情報を持っていることがわかります。 – AKSW

+0

これは本当にありがとうございます。わかった。今質問があります。 – Ali

関連する問題