2015-12-21 49 views
-1

所有數學課程都是由大衛只教(沒有其他講師必須參與).`如何用有效的owl語法表達下列句子?

<owl:Class rdf:ID="Math"> 
<owl:Restriction> 
<owl:onProperty uni:Resource="#isTaughtBy"/> 
<owl:allValuesFrom uni:Resource="#9432"/> 
</owl:Restriction> 
</owl:Class> 

上面的代碼似乎無效,爲什麼我嘗試繪製圖形,請幫助。 如果你想知道關於#9432是指大衛

+1

您是否嘗試過製作自己的例子? – maniacalrobot

+0

你想要公理** MathClass⊑∀isTaughtBy。{David}⊓∃.isTaughtBy。{David} **。 –

回答

0
<owl:Class rdf:ID="Math"> 
<rdfs:subClassOf> 
    <owl:Restriction> 
     <owl:onProperty rdf:resource="#isTaughtBy"/> 
     <owl:hasValue> 
      <owl:Class> 
       <uni:Name>david</uni:Name> 
      </owl:Class> 
     </owl:hasValue‌​> 
    </owl:Restriction> 
</rdfs:subClassOf> 

graph produced by rdf validator

+1

我不認爲這是正確的。這表示類Math的每個實例都與屬性isTaughtBy相關。我不認爲' david'是正確的。即使是這樣,它也會說這個課程是由David教授的,但並不是說它不是由其他人教授的。一門課程仍然可以由多位講師教授 –

+1

請告訴我如何做到這一點? –

+0

在protégé中,它將是** MathClass SubClassOf(isTaughtBy only {David})和(isTaughtBy some {David})**。我建議你使用protégé或其他基於OWL的工具,或者至少使用人類可讀的rdf語法,而不是使用ttying來編寫owl本體的rdf圖形映射的rdf/xml序列化。這可能會是一個更愉快的體驗。 –