用RDF表示动态树



我正在尝试描述RDF中的一种动态生成的有向图,其中每个节点的值取决于其前面的节点的"求和状态"。例如第一个节点可以具有 n 值。取决于它是 m 子节点,每个节点都带有 k 值之一。这些可能具有 l 儿童节点,依此类推。

因此,RDF语句可以轻松地之间的任何2个节点和它们之间的边缘。但是,当您浏览图时,主题或父节点有效地描述了其所有祖先节点的值。

有没有一种方法来表示这种图形,而无需为节点值的每个有效置换符号代表RDF三重的主题吗?

作为一个例子,说我想在本体中捕获具有这些属性的本体中的某些关系:

can_input_to  rdfs:domain material       ; rdfs:range first_process .
can_feed_into rdfs:domain first_process  ; rdfs:range second_process .
has_output    rdfs:domain second_process ; rdfs:range widget .

以及关于这样的实例的一些陈述:

<material_a> <can_input_to> <first_process_a>
<material_b> <can_input_to> <first_process_a>
<material_c> <can_input_to> <first_process_b>
<material_d> <can_input_to> <first_process_b>
<first_process_a> <can_feed_into> <second_process_a>   //If input is <material_a> OR <material_b>
<first_process_b> <can_feed_into> <second_process_a> //If input is <material_d> 
<second_process_a> <has_output> <widget_a>    //If input is <material_a> AND first_process is <first_process_a>
<second_process_a> <has_output> <widget_b>    //If input is <material_a> AND first_process is <first_process_b>

在本体论中如何定义或捕获这些语句的条件(//如果输入是..)?

基于父节点和推理规则的儿童价值的这种动态推断开始引入流行的GraphStores。例如,Apache Jena支持RDFS或OWL编写的急诊规则。Pellet是可以使用Java的OLW 2推理器。

最新更新