14

ANSI SQL では、次のように記述できます。

Select * From DBTable Where DBTable.Description LIKE "MEET"

また

Select * From DBTable Where DBTable.Description LIKE "%MEET%"

私が助けてほしいのは、上記と同等のSPARQLを書いてください。

4

2 に答える 2

21

正規表現フィルターを使用します。ここで短いチュートリアルを見つけることができます

外観は次のとおりです。

PREFIX ns: <http://example.com/namespace>

SELECT ?x
WHERE
{ ?x ns:SomePredicate ?y .
  FILTER regex(?y, "YOUR_REGEX", "i") }

YOUR_REGEXXQuery 正規表現言語の式でなければなりません

iオプションのフラグです。これは、一致が大文字と小文字を区別しないことを意味します。

于 2012-06-17T10:45:19.547 に答える
5

一致する固定文字列がある場合は、それをグラフパターンで直接使用できます。

PREFIX ns: <http://example.com/namespace>

SELECT ?x
WHERE
{ ?x ns:SomePredicate "YourString" }

パターン マッチングはRDF用語の等価性に基づいているため、これが常に機能するとは限らないことに注意してください"YourString""YourString"@enREGEX

また、一部の SPARQL エンジンは全文検索拡張機能を提供します。これにより、Lucene スタイルのクエリを SPARQL クエリに統合することができます。これにより、ユース ケースにより適合し、通常は必要な一般的な検索の効率がほぼ確実に向上します。REGEX

于 2012-06-17T19:37:43.113 に答える