问题描述
我有两组实体entities1
和entities2
,我想从一组特定的关系中识别将两者联系在一起的所有关系。
这可以通过将关系声明为变量来完成:
?entities1 ?relations ?entities2
但是,这会遍历所有可能的关系,因此使查询变得异常缓慢和低效。
这也可以通过使用OR运算符声明所需的关系来完成:
?entities1 (relation1 | relation2 | ... | relation_n) ?entities2
查找所有其中实体1和2通过我们的一种关系链接但没有返回该关系的情况,因此不知道哪个关系正确。
我需要一种从一组指定的关系中查找每个实体之间的关系的方法,然后可以将这些表作为带有标题(entity1,entity2,relation)的表返回。
有什么想法吗?
解决方法
@UninformedUser友善指出,可以使用VALUES
声明一组关系,这意味着可以达到以下预期效果:
VALUES ?relation {:relation1 :relation2 ... :relation_n} ?entities1 ?relation ?entities2 .
感谢您的帮助!