2014-01-21 48 views
0

我想要描述一種動態生成的RDF中的有向圖,其中每個節點的值取決於它前面節點的「求和狀態」,例如第一個節點可以有ñ值。取決於其是,可能有子節點,每個節點的ķ值的一個,每一個的這些可能具有子節點,依此類推等等。用RDF表示動態樹

因此,一個RDF語句可以很容易地在它們之間的任意兩個節點和一條邊之間,當你瀏覽圖時,主題或父節點有效地描述了它的所有值祖先節點。

有沒有一種方法來表示這樣一個圖,而沒有一個實體用於每個有效的節點值排列來表示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公理)。 –

回答