プログラミング言語やセットの種類とは別に、セットに対するクエリを定義する方法を探しています。
詳細には、Java、C++、Python などの一般的な言語の言語定義と実装になります。
コメントしたように、私はデータベースやセット表現の実装を探しているのではなく、Pythonやセットとして見ることができる線形構造などから要素のクエリを定義する方法のみを探しています。std::set/vector
set()
近い例はjLinqのようなものですが、JSON や JavaScript に縛られず、明確に定義された文字列表現を使用します。
もちろん、データ構造の種類を知らなくても、すべての問題とすべてのプログラミング言語に対して条件付きフィルターを実装する必要がありますが、クエリ文字列を作成する方法とそれらを評価する方法は明確であり、パーサーを作成する必要はありません。
だから私が Java や C++ で書きたいのは次のようなものです
q = query()
.created_after("14.03.2010")
.and(contains("hello")
.or(contains("hallo")))
.sort("caption")
または文字列として記述:
"(created_after("14.03.2010") and ( contains("hello") or contains("hallo"))) sort("caption")"
(これは考え抜かれたものではありません - インターフェースがどのように見えるかを示すためだけです)
別の問題の良い例は、JSON または XML です。明確な言語定義と、任意のプラットフォームまたはプログラミング言語用のパーサー/ツールです。