2014-01-21 2 views
0

Я пытаюсь описать своего рода динамически сгенерированный ориентированный граф в RDF, где значение каждого узла зависит от «суммированного состояния» узлов впереди него. Например, первый узел может есть п значения. в зависимости от которых она есть, может быть м дочерних узлов, каждый из которых с одной из к значений. Каждый из них может иметь л дочерних узлов, и так далее, и так далее.Представление динамического дерева с RDF

Таким образом, оператор 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

Можете ли вы рассказать о типе графа, который вы пытаетесь представить? Вы просто пытаетесь закодировать граф, который вы уже динамически генерировали, или пытаетесь указать бит графика, а затем использовать вывод, чтобы определить его больше? Можете ли вы привести конкретный пример? Это может быть достигнуто, или это может быть не так, но это трудно сказать, не видя более конкретного примера. Я знаю, что такое перестановки, но я не понимаю, как они здесь актуальны. –

+0

Привет, Джошуа, возможно, я немного использовал «перестановки». Вопрос отредактирован. – user814425

+0

Хорошо, я все еще не совсем уверен, что вы спрашиваете, но я думаю, что это становится яснее. В первом блоке кода есть '' и '' индивидуумы? Или это классы, и вы говорите, что они являются доменом и диапазоном свойства ''? Если последнее то, что вы имеете в виду, то я думаю, что вы сможете выполнять свои правила «если/тогда» как правила SWRL (или, в зависимости от того, насколько они сложны, возможно, даже аксиомы OWL). –

ответ

-1

Этот тип динамического вывода дочерних значений на основе родительских узлов и правил вывода начинает вводиться в популярные графические магазины. Например, Apache Jena supports inferrence rules written in RDFS, or OWL. Pellet - это модель OLW 2 для Java, которую вы можете использовать.

+0

Спасибо, Тим, вопрос обновлен – user814425

Смежные вопросы