多くのプレフィックスを使用するリソースを持つデータセットがあります。私は、2つの特定の接頭辞からではないすべてのリソースを探したい。sparql特定のプレフィックス以外のすべてのサブジェクトを取得する
私はこのクエリを実行:
strafter(str("http://www.first.com/to#test")
は私にtest
ないhttp://www.first.com/to#
を与えるので、うまくいきませんでした
select *
where
{
?s ?p ?o .
bind (strafter(str(?s), "#") as ?prefix)
filter (?prefix != "http://www.first.com/to#")
filter (?prefix != "http://www.second.com/rs#")
}
limit 10
。
誰かがプレフィックスを取得する方法を知っていますか?
この方法では、[strafter](https://www.w3)ではなく、[strbefore](https://www.w3.org/TR/sparql11-query/#func-strbefore)が必要です。 org/TR/sparql11-query /#func-strafter)。 'strbefore(" abc "、" b ")=>" a "'と 'strafter(" abc "、" b ")=>" c "'の例をドキュメントに示しています。 –
@JoshuaTaylorこんにちは、コメントのおかげで、私はあなたが/それを知っているかもしれないメタに関する質問をしました:) https://meta.stackoverflow.com/questions/323271/how-to-give-minimum-example-when私の問題は、データのサイズは、あなたが助けてくれますか? –
これは大規模なデータセットに対してヌル・パンター例外が発生する設定ですか?いくつかのuriが 'http:// example.org/foo/bar'という形式をしている、つまり'# 'がない場合、驚くことはありません。期待している。 (それはちょうど一般的な推測ですが、ここで何が起きているのかは必ずしもありません) –