最初のステップは、同社の最高経営責任者(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>
}
まだもう一つ問題があります。最終的な質問はS&P500の企業名(私が望むもの)を返しますが、最終結果にはこれらの企業のCEOとその出身地の名前を付ける必要があります。私はいくつかの選択肢を試しましたが、そのうちのどれも働いていないようです。私があなたにこれを手伝ってくれるかどうか疑問に思っていました。ありがとうございました。 – Ali
私は、CEOを得るための多くの候補者のproeprtiesがあることを示しました。あなたは本当に私の答えを読んだのですか?これは、最後のSPARQLクエリの出発点に過ぎませんでした。たとえば、 'dbp:ceo'プロパティを別のトリプルパターンで追加しようとします。あなたは、4つの企業だけがそのプロパティを介してCEOについての情報を持っていることがわかります。 – AKSW
これは本当にありがとうございます。わかった。今質問があります。 – Ali