簡體   English   中英

OWL:定義類的屬性和成員對象

[英]OWL: Defining attributes and member objects of a class

我對語義Web領域完全陌生,需要創建一個本體。

我做了很多研究,但仍然沒有找到以下問題的明確解決方案:基本上,我想從語義上描述某個類包含某些對象和屬性。 但這對我來說還不是100%清楚如何去做。 示例:我想描述“設備”類。 現在,該類包含一個對象“應用程序”和一個屬性“ ID”。 我可以將對象“應用程序”映射到ObjectProperty“ hasApplication”,並將屬性映射到DatatypeProperty“ ID”。 到目前為止一切順利,但是現在我如何將它們綁定到班級?

我發現了兩種主要方法:

  1. 您可以在屬性的定義中將類名作為域包括在內。
  2. 或者,您可以通過owl:Restricion/owl:onProperty.將屬性包括在類定義中owl:Restricion/owl:onProperty.

但是我認為,這兩種方式均不能准確地反映我的語義意圖,因為在第一種情況下,我的理解是,如果某個對象使用了已定義的屬性,則該對象必須是在對象中定義的類的實例。域,但不一定意味着該類的每個實例都必須具有此屬性。 類似地,在第二種情況下,通過owl:Restriction/owl:onProperty將屬性綁定到類上,這使我對該屬性施加了限制,即基數或值的范圍。 但這不是我的意圖,我不想描述“此類具有此限制的此屬性。”而只是描述“此類具有此屬性”。

希望你們能把事情弄清楚。 :S

與您的示例一起,您有一個類Device ,並且有一個類Application和一個用於關聯它們的ObjectProperty。 在OWL Manchester語法中:

  Class: Device

  Class: Application

  ObjectProperty: hasApplication 

從“設備類中包含的對象”的角度來考慮“應用程序”有點誤導。 可以將它們視為該類相關的對象。

現在,可以通過設置屬性的域和范圍來使DeviceApplication之間的關系全局可用:

 ObjectProperty: hasApplication
    Domain: Device
    Range: Application

但是,這可能並不是您所追求的,因為這僅表示如果hasApplication關系發生在任何地方,則可以將其主語和賓語分別推斷為DeviceApplication類型。 並不是說Device所有實例都必須具有hasApplication屬性。

為了表示Device所有實例必須具有hasApplication屬性,可以使用OWL基數限制:

 Class: Device 
    SubClassOf: hasApplication min 1 

這告訴我們Device任何實例必須至少具有1個 hasApplication屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM