我需要在OWL語法中定義本體中的類之間的關係。 我該怎麼辦?在Web本體語言中創建類之間的關係(owl)
回答
首先,請注意,您可以使用兩種XML語法(除了其他幾種非XML語法)來編寫OWL。您的代碼片段採用RDF/XML語法。另一種語法是OWL/XML。 OWL Primer有兩種語法的例子。
您的片段說:
- 的URI標識
<#net>
一類。 - 該類有標籤「網絡」(一個字符串)。
- 此類與URI
<#Node>
標識的內容具有「hasPart」關係。
前兩件事情是有道理的,但最後一件事情並不真實。我想你真正想說的是:
- URI
<#Node>
也標識一個類。 - URI
<#hasPart>
標識連接兩個類的個人(owl:ObjectProperty
)的屬性。 - hasPart屬性的主題是網絡(換句話說,hasPart的域是
#net
)。 - hasPart屬性的對象是節點(換句話說,hasPart的範圍是
#node
)。
查看OWL入門的例子應該給你一個體面的想法如何寫下這些東西。但是請注意,手工編寫RDF/XML語法是很乏味和容易出錯的。您可能想要使用像TopBraid Composer這樣的OWL編輯器,或者像OWL-API這樣的編程庫來創建OWL文件。如果你真的想手動編寫它們,我推薦使用Turtle語法(再次,Primer有示例),因爲它更具可讀性,並且讓你在學習SPARQL(OWL和RDF的查詢語言)方面領先一步。
我想在貓頭鷹中開發一個本體論,以便所有節點都可以包含與其他人的關係,這些關係可以是雙向的。根據我的理解,我們可以定義 不同類別的個人之間的關係。我需要定義關係的 在任何級別之間的類本身 之間的關係是層次結構中的默認關係。 – parsa
我同意cygri,有關#net
到#Node
這樣似乎沒有任何意義,也許你會喜歡的#net
所有實例都具有一個部分或者一些部件的#Node
實例。要做到這一點,你可以寫:
<owl:Class rdf:ID="Node"/>
<owl:Class rdf:ID="net">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasPart"/>
<owl:someValuesFrom rdf:resource="#Node"/>
</owl/Restriction>
</rdfs:subClassOf>
</owl:Class>
你可能仍然想定義直接連接兩個類的屬性。例如:
<#Node> <#isSimilarTo> <#Vertice> .
要在OWL做到這一點,你可以定義一個owl:AnnotationProperty
:
<owl:AnnotationProperty rdf:about="isSimilarTo"/>
<owl:Class rdf:ID="Node">
<isSimilarTo rdf:resource="#Vertice"/>
</owl:Class>
或者你可以使用「雙關語」,也就是使用一個類的實例,例如:
<owl:ObjectProperty rdf:about="isSimilarTo"/>
<owl:Class rdf:ID="Node">
<rdf:type rdf:resource="&owl;Thing"/>
<isSimilarTo>
<owl:Thing rdf:about="#Vertice"/>
</isSimilarTo>
</owl:Class>
請注意,在OWL DL中,必須顯式鍵入所有實例。這裏,#Node
被聲明爲owl:Thing
的類和實例。這並不意味着owl:Thing
可以包含類,但它意味着#Node
引用了兩個不同的東西:一個類和一個實例。在OWL DL中,IRI出現的上下文總是清楚說明該術語是指什麼。
- 1. 如何在OWL本體語言中表達「一部分」關係?
- 2. 本體:OWL - 創建類之間的連接
- 3. 創建實體之間的關係
- 4. ASP MVC4 /創建類之間的關係
- 5. 在REST中的實體之間移除或創建'有'關係
- 6. 在實體和非實體對象之間創建關係
- 7. OWL本體中的邏輯和物理實體關係
- 8. 是否有在N3 /龜本體語言創建類的捷徑
- 9. 表實體類之間的關係
- 10. 在Neo4j節點之間創建關係
- 11. 爲粘着語言創建本體論
- 12. 使用實體框架在兩個表之間創建關係
- 13. 如何在自定義實體之間創建關係
- 14. 創建表之間的關係
- 15. 創建SAS變量之間的關係
- 16. 創建用戶之間的關係
- 17. 語義網:單個本體中2個實體之間的關係度
- 18. 如何在域類之間創建多個一對多關係
- 19. 彙編語言和機器語言之間的關係是什麼?
- 20. 關於語義Web,RDF和OWL
- 21. DDD中的實體之間的關係
- 22. 在不同的ViewControllers中創建2個實體之間的關係
- 23. .NET CultureInfo和Android的語言環境之間的關係。默認
- 24. 類之間的關係
- 25. 類之間的關係
- 26. 如何在實體框架中創建表和視圖之間的關係
- 27. 如何在SQL Server中創建兩個非主鍵實體之間的關係
- 28. 如何使用parse.com創建2個類之間的關係?
- 29. 我不能創建類之間的JPA關係
- 30. 創建兩個節點之間的關係類型neo4j
你的代碼沒有顯示出來,我修正了格式。在StackOverflow中包含代碼片段的最簡單方法是將每個代碼行縮進四個空格。 – cygri