在 Python 的 rdflib 中,只获取连接节点的子图

问题描述

我正在使用 rdflib 将数据(由用户通过 GUI 输入)转换为 RDF 数据。

这个数据的结构相对复杂,对象相互引用,等等。
我这样做的方法基本上是,遍历所有对象,创建其图形,然后将所有这些图形添加在一起。

到目前为止效果很好。但是现在我遇到了这样的情况,一个对象不引用任何其他对象并且没有被引用。
这导致了一个图,它与图的其余部分完全分离。

理论上我可以在将每个对象添加到图形之前检查每个对象是否与另一个对象有连接,但这会非常复杂。是否有可能通过 rdflib 获得图的子图,即“连接到某个节点的一切”?

更新

为了澄清起见,以下是我的意思的示例:

@prefix ex: <http://example.org/stuff/1.0/> . 

ex:main-thing a ex:thing ;
    ex:hasTitle "The main Thing" ;
    ex:isRelatedTo ex:thing-01 ;
    ex:isRelatedTo ex:thing-02 .

ex:thing-01 a ex:thing;
    ex:hasTitle "Thing 1" ;
    ex:hasDescription "Is referenced by the main thing." .

ex:thing-02 a ex:thing;
    ex:hasTitle "Thing 2" ;
    ex:hasDescription "Is referenced by the main thing,like thing 1." .

ex:thing-03 a ex:thing;
    ex:hasTitle "Thing 3" ;
    ex:isRelatedTo ex:main-thing ;
    ex:hasDescription "Is referencing the main thing itself." .

ex:thing-04 a ex:thing;
    ex:hasTitle "Thing 4" ;
    ex:isRelatedTo ex:thing-01 ;
    ex:hasDescription "Is connected to main thing via thing 1." .

ex:thing-05 a ex:thing;
    ex:hasTitle "Thing 5" ;
    ex:hasDescription "Is not connected to the main thing at all." .

如果我得到这样的图表,我的意思是这里的一切都是连接的,除了 ex:thing-05 既没有传入也没有传出连接。

我想要做的是得到从 main-thing 开始的子图,包括所有连接的东西(即除了 thing 之外的所有 thing-05)。>

我希望这能让我的问题更清楚。

解决方法

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

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

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

相关问答

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