に接続されたすべてのURIを見つけるために:SPARQLだが、私はこのデータを持っているとしましょうグラフ
<http://foo/toast> <veg:two> <http://foo/id_A> .
<http://foo/apple> <veg:one> <http://foo/id_A> .
<http://foo/banana> <veg:one> <http://foo/id_A> .
<http://foo/banana> <veg:two> <http://foo/id_B> .
<http://foo/mango> <veg:one> <http://foo/id_B> .
私はURI http://foo/appleを使用したデータは、<http://foo/apple> <veg:one>
であることを同じオブジェクトに接続されているすべてのリソースを取得することを問い合わせるだろうかにつながった。 <http://foo/apple> <veg:one> <http://foo/id_A>
に私は返すようにクエリを期待してるよう:
<http://foo/toast> , <http://foo/banana> , <http://foo/mango>
私はこのようなクエリを試してみましたが、彼らは仕事をdidntの:
SELECT * WHERE{
<http://foo/apple> ?p ?id .
?fr (<veg:one>)*/(<veg:two>)* ?otherId .
}
私は戻って接続するかどうかはわかりません?idへのプロパティパス。 逆のパスでクエリを結合する必要がありますか?それはやり過ぎのように思えるし、おそらく簡単な方法
私はトーストとバナナのURIを取り戻すために、クエリを作成することができますはなく、マンゴーURI
おかげであることを!
のようになります。プロパティパスの2番目の部分には、逆パス演算子 '^'が必要です。 – AKSW
フォローしようとしているリンクを明確にすることはできますか?あなたは、トリプルに接続された対象を探していると言いますが、それはしばらくは意味がありません。リソースはトリプルではなく他のリソースに関連しています。あなたは、野菜を横断するリンゴのIDへの道を求めていますか?1つとveg:どちらの方向にも2つ? –
私は、私が提供するいくつかのサブジェクトと述語のオブジェクトに関連するリソースを見つけることを試みています。そう、はい、私はリンゴのイドへのパスを求めています:1つとveg:どちらかの方向に2つ。トースト、バナナ、マンゴー。おかげで –