Rdf Protege 5:如何通过个人的数据属性推断其类成员身份?
我使用OWL/XML语法在Protégé5中创建了一个本体。我已经包括了一个类Cerveza和另一个类颜色等。在“颜色”下,我有3个子类:Claro(浅)、Medio(中)和Oscuro(深): 我创建了一个名为EBC xsd:int的数据属性,它的域是Cerveza类: 因此,我对Claro课程进行了限制,使其最多有12个EBC学位: 然后我创建一个名为kk的个体,并断言属性EBC=10: 我启动了reasoner Pellet,它推断出,由于kk有EBC,kk必须属于Cerveza类。但我希望能推断出kk属于Color类/claro子类 此设计有什么问题?您混淆了数据类型限制()和数据属性基数限制() 而不是:Rdf Protege 5:如何通过个人的数据属性推断其类成员身份?,rdf,owl,protege,pellet,Rdf,Owl,Protege,Pellet,我使用OWL/XML语法在Protégé5中创建了一个本体。我已经包括了一个类Cerveza和另一个类颜色等。在“颜色”下,我有3个子类:Claro(浅)、Medio(中)和Oscuro(深): 我创建了一个名为EBC xsd:int的数据属性,它的域是Cerveza类: 因此,我对Claro课程进行了限制,使其最多有12个EBC学位: 然后我创建一个名为kk的个体,并断言属性EBC=10: 我启动了reasoner Pellet,它推断出,由于kk有EBC,kk必须属于Cerveza类
Class: Claro
SubClassOf: EBC max 12 xsd:int
你应该写:
Class: Claro
EquivalentTo: EBC some xsd:int[<= 12]
Class:Claro
EquivalentTo:EBC some xsd:int[您混淆了数据类型限制()和数据属性基数限制()
而不是:
Class: Claro
SubClassOf: EBC max 12 xsd:int
你应该写:
Class: Claro
EquivalentTo: EBC some xsd:int[<= 12]
Class:Claro
EquivalentTo:EBC some xsd:int[说“最大12个EBC度”和“最大12个EBC度”是有区别的-你在本体中犯的错误EBC max 12 int
表示“最大12个EBC度”,但你的数据KK EBC 10
表示“KK的EBC度值为12”。说“最大12个EBC度”是有区别的vs“maximum degrees of 12”-您在本体中犯的错误EBC max 12 int
意味着“maximum 12 EBC degrees of 12”,但是您的数据KK EBC 10
意味着“KK拥有EBC degrees of value 12”。感谢Stanislav。我应该如何做一个间隔?我写道:Class:Medio equivalento:EBC some xsd:int[>12]和xsd:int[47]但这两个类中都有12岁以上的人。EBC-some-xsd:int[>12,<47]
再次感谢,但我仍然在使用Medio(EBC-some-xsd:int[>12,<47])一个EBC为“80”的人˄xsd:intIsEBC
一个函数属性?我的意思是,这个人对于EBC
属性有两个值吗?谢谢Stanislav。我应该如何做一个间隔?我写道:Class:Medio equivalento:EBC一些xsd:int[>12]和xsd:int[47]但这是一个共同点。我在两个类中都有12个以上的个体。EBC some xsd:int[>12,<47]
再次感谢,但我仍然在使用Medio(EBC some xsd:int[>12,<47])一个拥有EBC“80”˄xsd:intIsEBC
一个函数属性的个体?我的意思是,这个个体对于EBC
属性有两个值吗?