簡體   English   中英

使用Protege中兩個數據屬性之間的關系定義類限制

[英]Defining a class restriction using relationship between two data properties in Protege

我正在Protege v5.2中構建一個簡單的軟件本體,並且嘗試將使用CPU的時間大於其物理執行時間的80%的軟件(使用推理程序插件)歸類為CPU密集型。 因此,每個人的以下數據屬性都填充有浮點值:

a)hasCPUTime

b)具有PhysicalExecutionTime

我已經創建了一個CPUIntensive類,並且我想添加一個限制,即hasCPUTime> 0.8 * hasPhysicalExecutionTime的個人屬於該類。 可以在Protege中完成嗎?

OWL 2不允許進行算術運算,例如乘法(盡管可以使用數據范圍進行某種比較)。

您需要內置SWRL:

hasCPUTime (?ind, ?cpu) ^
hasPhysicalTime (?ind, ?phy) ^
swrlb:greaterThan (?cpu, ?mul) ^
swrlb:multiply (?mul, 0.8, ?phy)
 -> CPUIntensive(?ind)

如果第一個自變量等於第二個自變量到最后一個自變量的算術乘積,則滿足swrlb:multiply內置函數,並且如果第一個自變量未綁定,則將其綁定到它們的算術乘積,就像Mul is 0.8*Phy. 在Prolog中工作。

Pellet支持這些內置函數:

個人觀點

暫無
暫無

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

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