繁体   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