2016-05-03 12 views
-1

私はFOAFオントロジーからいくつかの情報を取得したいと思います。私は次のSPARQLクエリを試しましたが、結果は返されません。私はこの質問をFOAFに慣れさせようとしましたが、本当にしたいのは、特定の人?xが知っているすべての人物を見つけることです(プロパティーはfoaf:knowsです)。これはどうすればいいですか?SPARQL FOAFのクエリは結果を返しません

PREFIX foaf:<http://xmlns.com/foaf/0.1/> 
SELECT ?name ?mbox 
WHERE { ?x foaf:name ?name . 
     ?x foaf:mbox ?mbox . 
} 
+0

ナレッジベースのクエリを実行しますか? FOAFオントロジー自体は単なるスキーマです。 – AKSW

+0

私はVirtuoso SPARQLクエリエディタを使いました。私はhttp://xmlns.com/foaf/0.1/をデフォルトデータセットに入れました。私が間違っている ? @AKSW – Dihya

+0

私の見解では、FOA​​Fの語彙だけを読み込んでいますが、インスタンスデータは読み込んでいません。 – AKSW

答えて

1

セマンティックウェブはさまざまなコンポーネントで構成されています。

知識はRDFトリプルで表されます。これらのトリプルは、サブジェクト - 述語 - オブジェクト構文に基づいてリソースを記述します。例えば、"John is a Male"は、RDFトリプルとして表すことができます。

RDFの上には、RDFSとOWLを使用して、これらのデータに関する制限やその他の情報を指定することができます。 RDFSのおかげで、私は"Male is a subclass of Person"と指定することができます。したがって、"John is a Person"を推測することができます。 RDFSとOWLは、オントロジーの定義に役立ちます。 オントロジーは、データを表すための語彙(一般的またはドメイン固有のもの)です。例えば、私はネコのデータを表現するためにオントロジーCATを作成したいと思うかもしれません。

その場合、"Cat is a subclass of Animal""hasOwner is a property that links a cat to a Person"と他のいくつかのプロパティを定義するCATボキャブラリを作成します。それから、私はいくつかの個体をインスタンス化して、猫のデータを作成することができます。たとえば、"Baccara is a Cat""Baccara hasOwner John"と言ってください。

FOAFは、基本的に人に関するデータ、特にこれらの人々の間のリンクを表現するための語彙です。 FOAFの語彙は、人々の情報を簡単に扱うためのプロパティとクラスを提供します。しかし、情報を提供するのではなく、情報を整理するための "構造"/"モデル"/"スキーマ"のみを提供します。 FOAFデータセットには個人が存在しません。そのため、クエリは結果を返しません。 FOAFデータセットには人がいないので、クエリは何も返しません。

FOAFボキャブラリに基づいて独自のRDFデータセットを構築することができます。これを行うには、Protégéのようなツールを試してみるか、RDF/XMLやTurtleをよく知っていればテキストエディタで簡単に試してみてください。

FOAFに精通している必要がある場合は、モデルをクエリできます。たとえば、エージェントのすべてのサブクラスを取得したいことがあります。

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 
SELECT distinct ?c 
WHERE { ?c rdfs:subClassOf foaf:Agent } 

私はFOAFで先に進む前に、セマンティックWebコンポーネント(特にRDFとRDFS、およびそれらの間の差異)のビットを読むことをお勧めします。さらに、SPARQLを学ぶための素晴らしいエクササイズは、DBpedia:http://dbpedia.org/sparqlを照会することです。

+1

[OpenLink Structured Data Editor(OSDE)](http://osde.openlinksw.com/) [URIBurner.comのライブインスタンス](http://linkeddata.uriburner.com/rdf-editor/)は、RDFデータドキュメントの作成と編集に適しています。また、[iSPARQL、対話型SPARQL Query Builder](http://oat.openlinksw.com/index.html?isparql)は、[http://dbpedia.org/isparql/](http://dbpedia。 org/isparql /)などがあります。 – TallTed

+0

FOAFオントロジに従ってインスタンスを含む知識ベースはありますか?私は、人の「描写」を得るためにexemple dbpediaのために使用しました。そして、私が1人の人が「知っている」人を取得したいのであれば、このクエリに答える知識ベースがあるかどうかわかりません。 @TallTed – Dihya

+0

FOAFナレッジベース自体はありません。それでも、多くのデータセットとソースにはFOAFベースのデータが含まれています。たとえば、[LODクラウドキャッシュのクエリ](http://lod.openlinksw.com/sparql?default-graph-uri=&query=PREFIX++foaf%3A++%3Chttp%3A%2F%2Fxmlns.com% 2Ffoaf%2F0.1%2F%3E%0D%0ASELECT + DISTINCT + * +%0D%0AH ++%+%3Fs +私の雇用者である[OpenLink Software](http://www.openlinksw.com/)が提供する%0ALIMIT + 1000&should-sponge =&format = text%2Fhtml&CXML_redir_for_subjs = 121&CXML_redir_for_hrefs =&timeout = 30000&debug = on) – TallTed

関連する問題