2014-03-19 50 views
1

我注意到Protege創建了作爲DatatypeProperty創建的「副本」屬性並將它們標記爲ObjectProperty。這反過來又使它們同時成爲數據類型和對象屬性。 我試圖在OWL文件中手動修復它。 將範圍分配爲「xsd:string」。 沒有什麼幫助。爲什麼Protege將DatatypeProperty的副本設置爲ObjectProperty

Protege讀取OWL文件並顯示我剛在這兩個列表上固定的屬性。如果我修改任何內容並將本體保存回OWL文件,則會創建兩個條目。

什麼是更有趣「我的範圍規範(到xsd:字符串)設置爲ObjectProperty條目,而不是原始數據類型。

任何想法?

這裏是一個例子。

「原始」

### http://www.umwd.dolnyslask.pl/ontologies/2014/03/midas#title 

:title rdf:type owl:DatatypeProperty , 
       owl:FunctionalProperty ; 

     rdfs:label "tytuł"@pl ; 

     skos:definition """xxxxxx""" ; 

     rdfs:comment """comment"""@pl ; 

     rdfs:domain :Annotation , 
        :Entity . 

拷貝由門徒加入(注意的rdfs:範圍已被移動到複製)

### http://www.umwd.dolnyslask.pl/ontologies/2014/03/midas#title 

:title rdf:type owl:ObjectProperty ; 

     rdfs:label "tytuł"@pl ; 

     skos:definition """xxxxxx""" ; 

     rdfs:comment """comment"""@pl ; 

     rdfs:range xsd:string . 

UPDATE:這裏是最小的本體,其開口後在上述問題導致上述問題:

@prefix : <http://my.ontolo.gy/test#> . 
@prefix dc: <http://purl.org/dc/elements/1.1/> . 
@prefix owl: <http://www.w3.org/2002/07/owl#> . 
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 
@prefix xml: <http://www.w3.org/XML/1998/namespace> . 
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . 
@prefix bibo: <http://purl.org/ontology/bibo/> . 
@prefix foaf: <http://xmlns.com/foaf/0.1/> . 
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 
@prefix skos: <http://www.w3.org/2004/02/skos/core#> . 
@prefix midas: <http://my.ontolo.gy/test#> . 
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> . 
@prefix dctype: <http://purl.org/dc/dcmitype/> . 
@prefix schema: <http://schema.rdfs.org/all#> . 
@prefix dbpedia: <http://dbpedia.org/ontology/> . 
@prefix dcterms: <http://purl.org/dc/terms/> . 
@prefix location: <http://www.w3.org/ns/locn#> . 
@base <http://my.ontolo.gy/test> . 

<http://my.ontolo.gy/test> rdf:type owl:Ontology ; 
         rdfs:label "Ontologia"@pl ; 
         rdfs:comment "Komentarz"@pl ; 
         owl:imports bibo: , 
            <http://schema.rdfs.org/all> , 
            <http://www.w3.org/2006/vcard/ns> , 
            <http://www.w3.org/ns/locn> . 

### http://my.ontolo.gy/test#title 

:title rdf:type owl:DatatypeProperty , 
      owl:FunctionalProperty ; 
    rdfs:label "tytuł"@pl ; 
    skos:definition """definition""" ; 
    rdfs:comment """komentarz"""@pl ; 
    rdfs:range xsd:string ; 
    rdfs:domain :Annotation , 
       :Entity . 

並將其保存迴文件後:

@prefix : <http://my.ontolo.gy/test#> . 
@prefix dc: <http://purl.org/dc/elements/1.1/> . 
@prefix owl: <http://www.w3.org/2002/07/owl#> . 
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 
@prefix xml: <http://www.w3.org/XML/1998/namespace> . 
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . 
@prefix bibo: <http://purl.org/ontology/bibo/> . 
@prefix foaf: <http://xmlns.com/foaf/0.1/> . 
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 
@prefix skos: <http://www.w3.org/2004/02/skos/core#> . 
@prefix midas: <http://my.ontolo.gy/test#> . 
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> . 
@prefix dctype: <http://purl.org/dc/dcmitype/> . 
@prefix schema: <http://schema.rdfs.org/all#> . 
@prefix dbpedia: <http://dbpedia.org/ontology/> . 
@prefix dcterms: <http://purl.org/dc/terms/> . 
@prefix location: <http://www.w3.org/ns/locn#> . 
@base <http://my.ontolo.gy/test> . 

<http://my.ontolo.gy/test> rdf:type owl:Ontology ; 

          rdfs:label "Ontologia"@pl ; 

          rdfs:comment "Komentarz"@pl ; 

          owl:imports bibo: , 
             <http://schema.rdfs.org/all> , 
             <http://www.w3.org/2006/vcard/ns> , 
             <http://www.w3.org/ns/locn> . 


################################################################# 
# 
# Object Properties 
# 
################################################################# 


### http://my.ontolo.gy/test#title 

:title rdf:type owl:ObjectProperty ; 

     rdfs:label "tytuł "@pl ; 

     skos:definition "definition" ; 

     rdfs:comment "komentarz"@pl ; 

     rdfs:range xsd:string . 





################################################################# 
# 
# Data properties 
# 
################################################################# 


### http://my.ontolo.gy/test#title 

:title rdf:type owl:DatatypeProperty , 
       owl:FunctionalProperty ; 

     rdfs:label "tytuł "@pl ; 

     skos:definition "definition" ; 

     rdfs:comment "komentarz"@pl ; 

     rdfs:domain :Annotation , 
        :Entity . 





################################################################# 
# 
# Classes 
# 
################################################################# 


### http://my.ontolo.gy/test#Annotation 

:Annotation rdf:type owl:Class . 



### http://my.ontolo.gy/test#Entity 

:Entity rdf:type owl:Class . 




### Generated by the OWL API (version 3.4.2) http://owlapi.sourceforge.net 
+0

是否有任何使用'title'屬性的地方將個人與他人聯繫起來。保護可能會看到,因爲只有對象可以做到這一點,所以添加一個屬性的對象屬性聲明。即使如此,它肯定不應該是一個對象屬性的範圍是'xsd:string'的情況。你能用最小的例子重現這個嗎?也就是說,向我們展示一個只有一個屬性的本體,但是當由Protege打開並保存時,有兩個? –

+0

我已經添加了我能想到的最簡單的本體示例 - 它只是這一個屬性與所有導入。當然還有其他的「標題」屬性(例如在DC中),但它們具有不同的URI。 –

+0

是否需要進口?例如,如果沒有進口,你會得到同樣的行爲嗎? –

回答

1

的根本原因,這是一個,解析(由OWL API)期間

rdfs:range xsd:string

被認爲是斷言的是,範圍是xsd:string/class /。這顯然是一個問題。在本體包含xsd:string作爲類的錯誤聲明之前,我已經看到它,這違反了OWL 2DL配置文件。

這樣做的起源似乎在schema.rdfs.org/all進口,在這種結構中,可以發現:

rdfs:range [ a owl:Class; owl:unionOf (xsd:decimal xsd:string) ];

爲了這個解析,數據類型的IRI需要被協助成爲IRI類。這是第一個OWL配置文件違規,其他違規是由其副作用造成的。

模式本體似乎是RDF而不是OWL,所以我不確定嘗試和解決這些問題是否合理。

+0

感謝您的分析,我檢查會發生什麼,如果我刪除schema.rdfs.org/all導入,這個問題仍然存在。 Webprotege和這個問題沒有顯示 在上面。 –

+0

我還沒有檢查過所有的本體,所以同樣的問題可能源於其他公理。 Protege可能做的和WebProtege可能沒有做的一件事是在保存本體時添加聲明。這會導致違規被嵌入爲多個聲明。我將用OWL API解決問題,以避免添加導致違規的聲明。 – Ignazio

相關問題