对于 OWL 中的数据 属性,一个对象是否可以具有多个文字值?
Can an object have more than one literal value for a data property in OWL?
我为智能屋设计了一个 ontology 模型。附在每个物体上的传感器。在我的 ontology 中,我有一个 class Sensor
。此 class 中的每个对象都有一个 ID 号。例如,Cabinet
是Sensor
的一个个体。我在厨房里有几个 Cabinet
,带有不同的 Id-number,例如 Cabinet hasID# 42
、Cabinet hasID# 52
。我正在使用 protege,我将 hasID
定义为数据 属性,将 locatedIn
定义为对象 属性。我想知道是否有可能:
Cabinet locatedIn Kitchen
Cabinet hasID 42
Cabinet hasID 52
或者我应该将 hasID
更改为一个对象 属性 并定义一个 class IdNumber
?
我认为你的做法是错误的。您没有一个柜子有多个 ID,您有 几个 不同 个柜子。换句话说,你有两个人,每个人都是类型 Cabinet
。一个 ID 为 42,另一个 ID 为 52。
在(伪)RDF 三元组中:
:cabinet42 a :Cabinet ;
:locatedIn :kitchen ;
:hasID 42 .
:cabinet52 a :Cabinet ;
:locatedIn :kitchen ;
:hasID 52 .
所以在Protege中,你需要创建两个独立的个体,一个柜子一个,然后给每个个体一个ID属性。
顺便说一句,正如您在上面的 RDF 中所见,甚至可能根本没有必要为它们提供 :hasID
属性:它们每个都已经拥有自己的唯一标识符(即它们的 URI::cabinet42
和 :cabinet52
)。
我为智能屋设计了一个 ontology 模型。附在每个物体上的传感器。在我的 ontology 中,我有一个 class Sensor
。此 class 中的每个对象都有一个 ID 号。例如,Cabinet
是Sensor
的一个个体。我在厨房里有几个 Cabinet
,带有不同的 Id-number,例如 Cabinet hasID# 42
、Cabinet hasID# 52
。我正在使用 protege,我将 hasID
定义为数据 属性,将 locatedIn
定义为对象 属性。我想知道是否有可能:
Cabinet locatedIn Kitchen
Cabinet hasID 42
Cabinet hasID 52
或者我应该将 hasID
更改为一个对象 属性 并定义一个 class IdNumber
?
我认为你的做法是错误的。您没有一个柜子有多个 ID,您有 几个 不同 个柜子。换句话说,你有两个人,每个人都是类型 Cabinet
。一个 ID 为 42,另一个 ID 为 52。
在(伪)RDF 三元组中:
:cabinet42 a :Cabinet ;
:locatedIn :kitchen ;
:hasID 42 .
:cabinet52 a :Cabinet ;
:locatedIn :kitchen ;
:hasID 52 .
所以在Protege中,你需要创建两个独立的个体,一个柜子一个,然后给每个个体一个ID属性。
顺便说一句,正如您在上面的 RDF 中所见,甚至可能根本没有必要为它们提供 :hasID
属性:它们每个都已经拥有自己的唯一标识符(即它们的 URI::cabinet42
和 :cabinet52
)。