Rdf OWL中是否存在命名限制?

Rdf OWL中是否存在命名限制?,rdf,owl,restriction,named,Rdf,Owl,Restriction,Named,我们可以将限制定义为命名类吗?我的意思是,不用这个: :myclass owl:equivalentClass [ rdf:type owl:Restriction ; owl:onProperty :hasAge ; owl:cardinality "2"^^xsd:nonNegativeInteger ] . 要使用此选项,请执行以下操作: :myclass rdf:type owl:Restriction ;

我们可以将限制定义为命名类吗?我的意思是,不用这个:

:myclass owl:equivalentClass 
         [ rdf:type owl:Restriction ;
           owl:onProperty :hasAge ;
           owl:cardinality "2"^^xsd:nonNegativeInteger ] . 
要使用此选项,请执行以下操作:

:myclass rdf:type owl:Restriction ;
         owl:onProperty :hasAge ;
         owl:cardinality "2"^^xsd:nonNegativeInteger.  

可以吗?

可以,绝对可以。这可能有点不寻常,但顺便说一句,OWL规范中没有强制限制匿名的内容。事实上,按照您的建议命名它们,可以更轻松地在多个类中重用限制。

是的,您可以为限制命名,只需声明一个命名类与该限制等价即可。OWL文档中有很多示例,请参见

在那里你可以找到这样的例子

EquivalentClasses(
    :HappyPerson 
    ObjectAllValuesFrom( :hasChild :HappyPerson )
)

EquivalentClasses(
    :NarcisticPerson 
    ObjectHasSelf( :loves ) 
)

EquivalentClasses(
    a:DogOwner
    ObjectSomeValuesFrom( a:hasPet a:Dog )
)

当你尝试它时会发生什么?我在Protege中创建了一个限制,我以turtle格式存储了文件,我按照上面的示例手动编辑了它,当我用Protege重新打开文件时,在“Annotation”窗口中有一个名为class的“myclass”名为class的限制。是的,这正是我的观点。我的意思是,当你决定基于一个限制定义一个新类时,创建一个命名的限制不是很正常吗?否则,您必须至少再创建一条语句(
等效类
子类
)。因此,我找不到任何具有命名限制的示例,这对我来说似乎很奇怪。您编写的示例就像我的第一个示例。我想知道的是我的第二个例子是否有效;)对不起,我不知道,我不太了解RDF。。。但是为什么你的第一个例子对你不好呢?也许你可以在你的问题中详细说明一下……这只是单纯的好奇:-)我知道你可以使用“等效”结构。我只是想知道第二个例子是否也合法