Properties owl:对属性值的属性域限制

Properties owl:对属性值的属性域限制,properties,dns,owl,restriction,Properties,Dns,Owl,Restriction,我正在研究OWL中的推理,目前领域定义中的限制: @prefix : <http://www.test.org/2015/4/ontology#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf

我正在研究OWL中的推理,目前领域定义中的限制:

@prefix : <http://www.test.org/2015/4/ontology#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <http://www.test.org/2015/4/ontology> .

<http://www.test.org/2015/4/ontology> rdf:type owl:Ontology .


:Class1 rdf:type owl:Class .

:Prop1 rdf:type owl:DatatypeProperty ;
       rdfs:domain [ rdf:type owl:Class ;
                 owl:intersectionOf ( :Class1
                                      [ rdf:type owl:Restriction ;
                                        owl:onProperty :Prop1 ;
                                        owl:hasValue "class1"
                                      ]
                                    )
               ] .

:Ind1 rdf:type owl:NamedIndividual ;
      :Prop1 "p" .
除非有

:Ind1 :Prop1 "class1"

但它似乎忽略了域定义中的限制


在damain定义中定义限制是否正确?reasoner小球并不禁止我这样做。

似乎忽略了damain定义中的限制。你基于什么?佩莱说有什么是假的吗?你看到了一个你没有预料到的结果吗?你没有看到你期望的结果吗?请注意,Protege默认情况下不显示数据类型推断,如中所述;您必须更改Protege设置以显示数据类型推断。可能我对属性Prop1:Class1和:Prop1值Class1的域限制的理解是错误的。我的理解是:如果Prop1的值是Class1,那么它属于domain:Class1。因此,如果:Ind1:prop1p比:Ind1不应该是类型:Class1A的值限制只是另一种类型的类。例如,hasFavoriteFlavor值vanilla是将vanilla作为hasFavoriteFlavor属性值的一类个体。当你说prop1的域是Class1和prop1值Class1时,你是说如果某个对象对prop1有任何值,那么它就是Class1的成员,也是prop1值Class1的成员,这意味着它将class1作为prop1的值。记住,一个属性可以有多个值,因此可以有x hasName Abe和x hasName Abraham。好的,我明白你的解释了。非常感谢。我正在寻找如何在属性域定义中定义条件。有可能吗?
:Ind1 :Prop1 "class1"