声明 DublinCore 属性 的 属性 subProperty 的后果是什么

What are the consequences of declaring a property subPropertyOf a DublinCore property

创建 OWL ontology 时,声明的后果是什么:

ex:myHasPart a owl:ObjectProperty .
ex:myHasPart owl:subPropertyOf <http://purl.org/dc/terms/hasPart> .

从你写的两个三元组,我们可以说如果你有一个三元组 <x> ex:myHasPart <y>,那么我们可以推断出 <x> dc:hasPart <y>(在 OWL 1 和 OWL 2,使用 direct semantics or RDF-based semantics).

但是公理的完整结果只能通过了解您的 ontology 中的其他内容才能完全估计。如果您只有这两个三元组,则您的 ontology 不在 OWL (1/2) DL 中。但是推理者不会在意,他们通常会假设 dc:hasPart 也是一个对象 属性,并且一切都会好起来的。另外,如果你有一个额外的声明说:

dc:hasPart  a  owl:AnnotationProperty .

然后 ontology 无效 OWL DL,也不是 OWL 2 DL,不管你还有什么(一个 IRI 最多只能表示一种类型属性、注解、数据类型或对象)。它仍然可以在许多不关心的 OWL 工具中使用(例如 Protégé)。 Reasoners 可能也不关心,只要您不以奇怪的方式使用这些属性,例如,同时使用文字和非文字。

具体回答您的问题:

In OWL 1 : I read from http://bloody-byte.net/rdf/dc_owl2dl/ that it implies that ex:myHasPart will be an AnnotationProperty. Can it be both an ObjectProperty and an AnnotationProperty ?

不,两个三元组意味着 ex:myHasPart 是一个 owl:ObjectProperty。在一个OWL 2 ontology, a property cannot be object and annotation at the same time. In an OWL 2 Full ontology, they can (an OWL 2 Full ontology is just an RDF graph). In OWL 1, an OWL DL ontology cannot have an object property that is an annotation property at the same time, while an OWL Fullontology即可。

In OWL 2 : What would be the consequences/entailments ?

与 OWL 1 中的内容几乎相同,但这取决于您使用的是什么语义:直接语义还是 RDF-based 语义?直接语义仅适用于 OWL 2 本体,不适用于 OWL 2 完整本体,因此您至少必须声明 ontology <yourOnto> a owl:Ontology 并声明术语dc:hasPart 作为 owl:objectProperty。推理者可以更宽容。无论如何,不​​会有任何不好的事情发生,除非你把 ontology.

的其余部分搞砸了

How can I choose in Protégé to work in OWL1 or OWL2 ?

您可以选择不支持 OWL2 的 Protégé 版本(如果您仍然设法找到一个)。否则,4.0以后的任何版本都使用OWL 2。但是从句法的角度来看,没有理由限制为OWL 1。推理是独立于Protégé中的编辑器进行的,所以无论你有 OWL 1 或 OWL 2 推理取决于你有哪个插件。然而,不支持 OWL 2 的 OWL 推理机已经过时了,没有太多明智的理由继续使用它们。

Additionnally, what are the consequences in terms of OWL-DL vs. OWL-Full ? would my ontology still be at the OWL-DL level ?

我想我已经解释过了。

Is it a good practice to declare subProperties of dcterms like this ? I think I need a general explanation on this.

我看不出有任何理由将其视为良好做法,但我看不出有任何理由积极阻止人们这样做。

What could be the alternative to link ex:myHasPart with dcterms:hasPart ? rdfs:seeAlso ? skos:broadMatch ?

你的建议对我来说似乎有效。但是你真的需要link明确吗?