需要一种算法来计算所有可能的推论

问题描述

我正在制作一个静态 RDFS-Plus 推理引擎。

我编写了一个函数,可以对包含的所有结构进行适当的推断。例如,如果此函数传递了三元组 C1 rdf:subClassOf C2,那么对于 X rdf:type C1 形式的三元组中的所有 X,将生成 X rdf:type C2 形式的新三元组

我正在努力的地方在于弄清楚如何做出所有可能的推论。斗争来自这样一个事实,即我必须根据推论进行推论。

这是我在我的程序中所处的位置:

1. Parse a `.ttl` file and assert all the triples into a data store.
2. Separate out the triples that represent RDFS-Plus constructs into a list.
3. ??? (make all possible inferences somehow)

我确信唯一可行的想法是生成 RDFS-Plus 列表的所有排列(给出列表列表),然后为每个内部列表映射我的推断函数。这是一个无用的解决方案,因为它非常低效。

我的推断功能是否足以产生所有可能的推断,还是我走上了一条贫瘠的道路?我有足够的地方来制作规则依赖图吗?我不知道如何计算建模构造是否可能依赖于另一个构造。例如,可以 owl:FunctionalProperty 依赖于 rdfs:subClassOf 还是这只是胡言乱语?

我真的很感激一些见解。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...