假设我有一个OWL类,如下所示:
:picture rdf:type owl:Class ;
owl:unionOf(:creator :theme :title :date) .
有了:creator
、:theme
、:title
和:date
owl:ObjectProperty
或owl:DataProperty
。
例如:
:creator rdf:type owl:ObjectProperty ;
rdfs:comment "The creator of this picture." ;
rdfs:domain :picture ;
rdfs:range foaf:Person .
如何创建此图片类的实例?
(我了解如何创建简单事物的实例,例如:<http://dbpedia.org/resource/Paris> rdf:type :location .
将是一个位置的实例)
如果你想描述可能包含属性的类 :creator
、 :theme
、:title
和 :date
你应该只描述所有属性的域(不需要在图片类中做额外的定义):
:picture a owl:Class .
:creator rdfs:domain :picture ;
rdfs:range foaf:Person .
等等。
如果要描述必须包含这些属性的类,则应添加基数约束:
:picture a owl:Class ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty creator ;
owl:minCardinality "1"^^<http://www.w3.org/2001/XMLSchema#int>
]
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty theme ;
owl:cardinality "1"^^<http://www.w3.org/2001/XMLSchema#int>
]
... etc ...
在这两种情况下,实例的定义如下所示:
:monaLisa a :picture ;
:creator :LeonardoDaVinci ;
...
:date "1503-01-01"^^<http://www.w3.org/2001/XMLSchema#date>
例如,您可以从本文档中了解有关限制的更多信息。