我试图在RDF中描述一种动态生成的有向图,其中每个节点的值取决于它前面节点的“求和状态”。例如,第一个节点可以有 n 值。根据它的不同,可能有 m 子节点,每个节点都有一个 k 值。每个节点都可能有 l < / em>子节点,依此类推。
因此,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>
如何在本体中定义或捕获这些语句的条件(//如果输入是......)?
答案 0 :(得分:-1)
这种基于父节点和推理规则的子值的动态推断开始被引入到流行的图形存储中。例如Apache Jena supports inferrence rules written in RDFS, or OWL。 Pellet是您可以使用的OLW 2 Java推理器。