注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

検索構文

このページでは、オントロジーでのさまざまな検索に使用する構文について説明します。Workshop のフィルターリストや Object Explorer の検索バーから、オントロジーを検索できます。

正規表現

オントロジーでの正規表現検索は、一般的な正規表現に似た構文を使用しますが、いくつかの違いがあります。

  • 文字列プロパティは、正規表現検索用にインデックス化されている必要があります。文字列プロパティで正規表現検索を使用するには、Ontology Manager でそのプロパティを正規表現検索用にインデックス化する必要があります。これを設定するには、オブジェクトタイプのプロパティタブに移動してインタラクションタブを選択し、正規表現クエリを有効にするオプションを選択します。
  • パターンは部分文字列ではなく、値全体に一致します。インデックスには文字列全体が解析されていない単一の値として格納されるため、パターンは常にフィールドの値全体に対して、先頭から末尾まで照合されます。つまり、cat を検索すると、完全一致する値 cat のみが一致し、concatenate のように cat を含む値は一致しません。部分文字列を照合するには、パターンの前後に .* を追加します。たとえば、.*cat.* は cat を含む任意の値に一致します。
  • アンカー ^ と $ には対応していません。すべての一致はすでに暗黙的に値の先頭から始まり、末尾で終わるため、これらのアンカーは冗長です。

対応する演算子

  • . は任意の1文字に一致します。
    • c.t を検索すると、cat、cot、cut などに一致します。
  • ? は直前の文字を省略可能にします(0回または1回一致します)。
    • colou?r を検索すると、color と colour の両方に一致します。
  • + は直前の文字を1回以上繰り返します。
    • go+d を検索すると、god、good、goood などに一致しますが、gd には一致しません。
  • * は直前の文字を0回以上繰り返します。
    • go*d を検索すると、gd、god、good、goood などに一致します。
  • {} は直前の文字を繰り返せる最小回数と最大回数を定義します。{2} は直前の文字を正確に2回繰り返す必要があることを、{2,} は直前の文字を少なくとも2回繰り返す必要があることを、{2,4} は直前の文字を2回以上4回以下繰り返す必要があることを意味します。
    • go{2}d を検索すると、good のみに一致します。go{2,4}d を検索すると、good、goood、gooood に一致します。
  • | は OR 演算子で、いずれかのパターンに一致させることができます。
    • cat|dog を検索すると、cat または dog のいずれかに一致します。
  • () は式の中にグループを作成し、演算子を直前の文字だけでなくグループ全体に適用できるようにします。
    • (un)?happy を検索すると、? によって un グループ全体が省略可能になるため、happy と unhappy の両方に一致します。
  • [] は角括弧内に指定された任意の1文字に一致します。
    • gr[ae]y を検索すると、gray と grey の両方に一致します。- を使用して範囲を定義できます。たとえば、[a-z] は任意の小文字の英字に、[0-9] は任意の数字に、[A-Za-z] は大文字と小文字を問わず任意の英字に一致します。文字の並びが ^ で始まる場合、その集合は否定されるため、[^0-9] は数字以外の任意の文字に一致します。- が最初の文字である場合、または \ でエスケープされている場合は、リテラルのダッシュとして扱われます。
  • " は文字列リテラルのグループを作成し、各文字を正規表現の演算子として解釈するのではなく、フレーズに完全一致させることができます。
    • "v2.0" を検索すると、リテラルのテキスト v2.0 に一致します。引用符がない場合、. はワイルドカードとして扱われるため、v2X0 や v200 に一致する可能性があります。
  • \ はエスケープ文字として使用され、通常は演算子として扱われる文字を検索できるようにします。また、文字クラスの省略表記も使用できます。
    • \d は任意の数字(0-9)に一致します。\D は数字以外の任意の文字(英字、句読点、空白など)に一致します。
    • \s は空白、タブ、改行などの任意の空白文字に一致します。\S は空白文字以外の任意の文字に一致します。
    • \w は任意の単語構成文字(英字、数字、アンダースコア: a-z、A-Z、0-9、_)に一致します。\W は句読点や空白など、単語構成文字以外の任意の文字に一致します。
    • たとえば、\d{3}-\d{4} を検索すると、555-1234 や 800-5678 のようなパターンに一致します。\w+\s\w+ を検索すると、hello world や John Smith のように、空白で区切られた任意の2つの単語に一致します。リテラルのドットを検索するには、\. を使用します。たとえば、example\.com は example.com に一致し、exampleXcom には一致しません。