ObjectProperty可以具有DatatypeProperty吗?

时间:2018-11-05 09:21:07

标签: rdf owl ontology protege

我正在尝试使用OWL描述图。假设我要两个类workshoplocation,并在它们之间有一个边缘hasLocation。我可以在hasLocation上拥有一个属性,该属性表示workshoplocation发生的时间吗?我尝试使用Protege定义此属性,但似乎只能定义类的属性。

1 个答案:

答案 0 :(得分:2)

您可以使用annotationspunning

但是,注释或数据属性将是hasLocation属性本身的属性,而不是其特定出现的属性。这是RDF / OWL和LPG之间的关键区别。

我建议使用或多或少的common建模技术。在海龟中:

@prefix : <http://www.semanticweb.org/1226761/ontologies/2018/10/untitled-ontology-6#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

[ rdf:type owl:Ontology ] .

:Workshop rdf:type owl:Class .
:Location rdf:type owl:Class .
:SpatioTemporalExtent rdf:type owl:Class . 

:hasLocation rdf:type owl:ObjectProperty ;
             rdfs:domain :SpatioTemporalExtent ;
             rdfs:range :Location .

:hasSpatioTemporalExtent rdf:type owl:ObjectProperty ;
                         rdfs:domain :Workshop ;
                         rdfs:range :SpatioTemporalExtent .

:hasTime rdf:type owl:DatatypeProperty ;
         rdfs:domain :SpatioTemporalExtent ;
         rdfs:range xsd:dateTime . 

:workshop1 rdf:type owl:NamedIndividual , :Workshop ;
           :hasSpatioTemporalExtent :extent11 .    

:extent11 rdf:type owl:NamedIndividual , :SpatioTemporalExtent ;
          :hasLocation :city1 ;
          :hasTime "2018-05-11T00:00:00"^^xsd:dateTime .

:city1 rdf:type owl:NamedIndividual , :Location .

或者,对于匿名个人:

:workshop1 rdf:type owl:NamedIndividual , :Workshop ;
           :hasSpatioTemporalExtent [rdf:type :SpatioTemporalExtent ;
                                     :hasLocation :city1 ;
                                     :hasTime "2018-05-11T00:00:00"^^xsd:dateTime .
                                    ] .
  

您知道不允许在边缘设置属性的原因是什么吗?

RDF 表示资源描述框架。它最初旨在在Web上发布数据。资源应具有URI(好吧,除非它们是文字)。属性事件在本体论上不被认为具有足够强的标识符。例如,他们的人数相对较多...为了比较起见,宁愿说“我爱你” 而不是“我爱5个你” 。 >

在谓词位置的空白节点(具有弱标识符)可以解决此问题。因此,问题仍然存在,为什么在谓词位置不允许空白节点(即使对于Tim Berners-Lee,即使对于not for Manu Sporny也是如此)。

我认为原因是希望不要暂时放弃一阶基础,a b c三元组的bearing in mind'自然'转换为b(a,c)之类的FOL。然后[] b c可以翻译成∃x b(x,c),但是a [] c呢?