rdf - 需要一种算法来计算所有可能的推论
问题描述
我正在制作一个静态 RDFS-Plus 推理引擎。
我编写了一个函数,可以对包含的所有构造进行适当的推断。例如,如果这个函数传递了三元组C1 rdf:subClassOf C2
,那么对于形式三元组中的所有 X ,将产生X rdf:type C1
一个新的三元组形式。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
还是这只是胡言乱语?
我真的很感激一些见解。
解决方案
推荐阅读
- jquery - django-ajax-selects - 如何保留选定的选项
- docker - 在 docker 容器中使用 apache 服务器配置 SSL
- svelte - 如何通过 getElementById 获取类型?
- python-3.x - 为什么在训练 YOLOv5 模型时出现运行时错误?
- python - 对 3D pyplot 使用相同的比例
- c# - 带事件的硬币计数器
- swift - 如何在 Swift 中翻译/本地化变量
- vue-component - Laravel+Vue 问题:如何在 v-for 上使用两个不同的资源
- next.js - Tailwind CSS 未应用某些样式
- python - 如何使用 Python 删除 JSON 文件的所有内容