我正在开发一个Java应用程序,它管理一个非常大的实体模型及其关系。例如"A使用B“、"B在C中实现”、"C位于D“。所有这些实体及其属性都存储在noSQL数据库中。
我想做的是有逻辑谓词,例如:
然后,当用户打开A的详细屏幕时,他不仅会看到A的所有属性,而且还会看到:
我可以硬编码所有这些谓词,但我希望能够配置它。有人知道怎么处理吗?
我不能使用SQL。我没有像Prolog那样的东西可以调用。Java有一个prolog模拟器,但我担心它希望在评估谓词之前先在内存中加载整个数据模型。
任何帮助都是非常感谢的。
发布于 2014-09-29 23:34:17
Prolog有几个Java实现(例如Lean、JIProlog、tuProlog、Jekejeke、Minerva、.)。其中一些提供了Prolog和Java之间的双向接口。其中至少有一个JIProlog支持外部Prolog子句数据库,显然允许使用这些子句而不将所有子句加载到内存中。如果将数据从noSQL数据库导出到Prolog文件是可行的选择,那么这可能是一个值得探索的解决方案。
https://stackoverflow.com/questions/26097266
复制相似问题