0

我需要表达这样一个事实,即我的本体中允许的 ObjectProperty 值是由来自特定 SKOS ConceptScheme 的概念“控制”的。

编辑:

这是一个例子:

ex:colours rdf:type skos:ConceptScheme ;
  skos:hasTopConcept ex:teal ;
  skos:hasTopConcept ex:green .

ex:teal rdf:type skos:Concept ;
  skos:inScheme ex:colours ;
  skos:topConceptOf ex:colours .

ex:green rdf:type skos:Concept ;
  skos:inScheme ex:colours ;
  skos:topConceptOf ex:colours .

ex:P_has_colour rdf:type owl:ObjectProperty ;
  rdfs:domain ex:ColoredStuff ;
  rdfs:range ??? .

我想表达一个事实,即ex:P_has_colourObjectProperty 的值必须是来自 ex:colours SKOS ConceptScheme 的概念。我想我可以为每一个表示颜色的 SKOS 概念添加一个类型(类似于ex:teal rdf:type ex:ColourConcept ;),并设置我的属性范围:ex:P_has_colour rdfs:range ex:ColourConcept. 这是正确的方法吗?

4

1 回答 1

0

从曼彻斯特语法翻译为乌龟,这似乎是答案:

ex:colours rdf:type skos:ConceptScheme ;
  skos:hasTopConcept ex:teal ;
  skos:hasTopConcept ex:green .

ex:teal rdf:type skos:Concept ;
  skos:inScheme ex:colours ;
  skos:topConceptOf ex:colours .

ex:green rdf:type skos:Concept ;
  skos:inScheme ex:colours ;
  skos:topConceptOf ex:colours .

ex:P_has_colour rdf:type owl:ObjectProperty ;
  rdfs:domain ex:ColoredStuff ;
  rdfs:range [ owl:intersectionOf ( :ConceptScheme
                                  [ rdf:type owl:Restriction ;
                                    owl:onProperty :inScheme ;
                                    owl:hasValue :colours
                                  ]
                                ) ;
             rdf:type owl:Class
           ] .
于 2019-09-30T14:48:23.973 回答