我正在尝试使用 RDF 和 RDF Schema 开发一个简单的“本体”。
目前,我已经编写了以下类和属性:
<rdfs:Class rdf:about="#Model">...</rdfs:Class>
<rdfs:Class rdf:about="#System">...</rdfs:Class>
<rdfs:Class rdf:about="#Concept">...</rdfs:Class>
<rdfs:Property rdf:about="#represents">
<rdfs:domain rdf:resource="#Model" />
<rdfs:range rdf:resource="#System" />
</rdfs:Property>
<rdfs:Property rdf:about="#includes">
<rdfs:domain rdf:resource="#Model" />
<rdfs:range rdf:resource="#Concept" />
</rdfs:Property>
这个想法是我想将“模型”(即模型实例)定义为一组“概念”。因此,这样的“模型”实例将“表示”一个“系统”:然后可以使用该“模型”中定义的“概念”来描述一个“系统”(为此我可以创建一个类“SystemDescription”) .
现在,我的疑问如下:
我想将概念定义为“概念”的子类,但“包含”属性需要它们是实例才能与“模型”实例建立关系;换句话说,我的概念会将 rdf:type 和 rdfs:subClassOf 设置为“Concept”——这是一个好方法吗?(在我看来,这个问题需要我的概念既是实例又是类)
假设我想重用 SKOS(简单知识组织系统)本体:可以将“模型”定义为 skos:ConceptScheme 的子类(或“概念”作为 skos:Concept 的子类)吗?
而且,不太具体,你对我考虑到这样一个建模问题的方法有什么建议吗?