2012-01-20 33 views
4

我们可以将限制定义为命名类吗?我的意思,而不是使用这样的:OWL中是否存在命名限制?

: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. 

可以吗?

+1

当您尝试会发生什么例子? –

+1

我在Protege中创建了一个限制,我以turtle格式存储文件,我手动编辑了上面的例子,当我用Protege重新打开文件时,有一个名为“myclass”的类,在“注释“窗口。 – kwstas

回答

5

是的,这是绝对好的。这可能有点不寻常,但AFAIK在OWL规范中没有任何内容强制限制是匿名的。实际上,像你所说的那样命名它们使得在多个类中重用限制变得更容易。

+0

是的,这正是我的观点。我的意思是,当你决定根据限制来定义一个新的类时,创建一个命名限制不是一种常态吗?否则,您将不得不至少创建一个语句('equivalentClass'或'subClassOf')。所以,我无法找到任何具有命名限制的例子,这一事实对我来说似乎很陌生。 – kwstas

0

是的,你可以给名称限制,只是声明一个命名类相当于限制。 OWL文档中有很多示例,请参阅

你找到喜欢

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

EquivalentClasses(
    :NarcisticPerson 
    ObjectHasSelf(:loves) 
) 

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

你写的例子就像我的第一个例子。我想知道的是,如果我的第二个例子是有效的;) – kwstas

+0

对不起,我不知道,我对RDF不太了解......但是为什么你的第一个例子对你不好?也许你可以在你的问题中详细说明...... – Kaarel

+0

这只是简单的好奇心:-)我知道你可以使用“等效”构造。我只想知道第二个例子是否合法 – kwstas

相关问题