我正在尋找一種方法來獨立於編程語言或集合的種類來定義集合上的查詢。是否有一種通用的查詢語言,用於獨立於編程語言的任意集?
具體,這將是一個語言定義和像Java,C++,Python的等
正如評論我不尋找一個數據庫或一組代表性的任何實現,但共同的語言實現只有通過定義才能查詢元素來自例如一個std::set/vector
Python 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:清晰的語言定義和任何平臺或編程語言的解析器/工具。
那麼,一個數據庫?幾乎有十億美元的產業和幾個主要的開源項目解決了這個問題的許多變化。 – delnan
不,我不是在尋找一個數據庫,而是尋找一個通用集的標準查詢語言(而不是數據庫中的表和字段) – frans
爲什麼你不能將這些集建模爲表並編寫SQL查詢? – delnan