2

设计一个我需要捕获微观策略文档及其包含的信息类型的本体。例如,下面是三个 mstr 文档。

1. Finance summary (has finance inforamtion)
2. Country finance summary (has finance & country info)
3. Invest to grow country finance summary (has finance, country, invest to grow country info)

除此之外,我还定义了如下信息类。

1. Finance
2. Country
3. InvestToGrowCountry (subclass of country)

有一个谓词/属性称为 hasInformation,它将文档与信息类连接起来。我的问题是 - 我应该将 mstr 文档创建为文档的子类并为其定义 hasInformation 谓词还是创建个人/文档实例?

请注意,每个文档还将具有名称、项目名称、url、参数等属性。该属性是否应该定义为个人或类的数据类型属性?

感谢您的帮助...谢谢。

4

1 回答 1

2

在 OWL 中,类代表集合。因此,您可以拥有一个:MicrostrategyManual包含成员的类,这些成员是代表具体文件或纸质副本的 URI,可以归类为a :MicrostrategyManual.

关于:

有一个谓词/属性称为 hasInformation,它将文档与信息类连接起来。

唯一可以将个人与类链接的属性(除了下面的选项 3 时)是rdf:type,类之间的属性是rdfs:subClassOf. 当您想以某种方式将某个属性与 OWL 类相关联时,您有两个选择:将类用于域和范围(很少是一个好的做法),或者当您将属性包含在类描述中时(必要条件分类,使用rdfs:subClassOf),或定义(分类的充分必要条件,使用owl:equivalentClass)。

根据您的目标,您可以以不同的方式设计您的本体。这里有两个选项:

  1. 如果您只想对文档进行分类,那么您可以将类别定义为个人,skos:Concept您可以将它们分组到一个skos:Collection可以用作“代码列表”的成员中。然后,您可以通过以下方式关联您的个人 2 和 3:

:InvestToGrowCountry skos:broader :Country

  1. 如果您想将您的文档与它们包含的资源相关联,这些资源可以以不同的方式进行分类,那么您可以使用信息类来保持这种方法。

关于文档属性,如果您有一些文档类应该具有与单个文档相同的元数据,那么这些应该被定义为注释属性。最好尽可能多地重用来自核心词汇/本体的那些。例如,对于名称,最好使用rdfs:label或拥有您的:documentNameas 子属性rdfs:label。然后您可以使用数据类型属性来进一步描述您的文档。但是,在某些情况下,当您想进一步描述这些特性时(例如,当您想管理它们的生命周期时),可以考虑使用对象属性,而不是注释和数据类型属性。

  1. 还有一个中间方法,应用 OWL2 的双关语功能,但由于我没有使用它的经验,我不知道有什么风险。

  2. 将您的类重命名为:CountryDocumentetc,并对文档进行分类(直接或通过对其他属性的推断),因此问题:hasInformation已解决,因为不需要它,无论如何都不是为了这个目的。

于 2016-05-12T12:57:40.100 回答