簡體   English   中英

用Java評估邏輯謂詞

[英]Evaluating Logical predicates in Java

我正在開發一個Java應用程序,該應用程序管理非常大的實體及其關系模型。 例如“ A使用B”,“ B用C實現”,“ C位於D”。 所有這些實體及其屬性都存儲在noSQL數據庫中。

我想做的是擁有邏輯謂詞,例如:

  • 當A使用B時A使用B
  • 當A使用B並且在C中實現B時,A依賴於C

然后,當用戶打開A的詳細信息屏幕時,他不僅會看到A的所有屬性,還會看到:

  • A使用B
  • A取決於C
  • A呼叫D

我可以對所有這些謂詞進行硬編碼,但是我希望能夠對其進行配置。 有誰知道如何解決這個問題?

我不能使用SQL。 我沒有像Prolog這樣的東西可以調用。 有一個Java的prolog模擬器,但恐怕它希望在評估謂詞之前先將整個數據模型加載到內存中。

任何幫助表示贊賞。

Prolog有幾種Java實現(例如,精益Prolog,JIProlog,tuProlog,Jekejeke Prolog,Minerva等)。 有些提供了Prolog和Java之間的雙向接口。 其中至少有一個JIProlog支持子句的外部Prolog數據庫,顯然可以在不將所有子句加載到內存的情況下使用這些子句。 如果將數據從noSQL數據庫導出到Prolog文件是可行的選擇,那么這可能是值得探討的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM