2017-06-14 36 views
1

我創建兩個類BookPerson參與OWL限制類和對象屬性hasAuthor獲取比如通過SPARQL 1.1

  • Person有子類ManWomen
  • Book具有子類Hard_bounded_bookSoft_bounded_book

我使用的是OWL限制如下創建的Book另一個子爲Book_With_Atleast_One_Male_Author

:Book_With_Atleast_One_Male_Author rdfs:subClassOf [ 
    rdf:type owl:Class ; 
    owl:intersectionOf (
         :Book 
         [ a owl:Restriction ; 
         owl:onProperty bf:hasAuthor ; 
         owl:someValuesFrom :Male ] 
        ) 
] . 

現在我創建和PersonBook一些實例和關係:

:Hard_bounded_book1 rdf:type :Hard_bounded_book . 
:Hard_bounded_book2 rdf:type :Hard_bounded_book . 
:Soft_bounded_book1 rdf:type :Soft_bounded_book . 
:Soft_bounded_book2 rdf:type :Soft_bounded_book . 
:Male1 rdf:type :Male . 
:Male2 rdf:type :Male . 
:Female1 rdf:type :Female . 
:Female2 rdf:type :Female . 
:Hard_bounded_book1 :hasAuthor :Male1 
:Hard_bounded_book1 :hasAuthor :Male2 
:Hard_bounded_book1 :hasAuthor :Female1 
:Hard_bounded_book1 :hasAuthor :Female2 
:Soft_bounded_book1 :hasAuthor :Male1 
:Soft_bounded_book2 :hasAuthor :Female1 

當我寫了一個SPARQL查詢來獲取類Book_With_Atleast_One_Male_Author的實例,我什麼也沒得到。 如果您對發生的事情有任何瞭解,請讓我知道嗎?

謝謝。

+0

你使用哪種API使用推理與SPARQL? – AKSW

+0

我使用OQL2-QL規則集在GraphDB軟件中加載它。 – Sidd

+0

我希望你的意思是'OWL2-QL'。正如下面的答案正確地指出的那樣,你必須使用等價公理而不是簡單的包含,它只在一個方向上進行推斷。 – AKSW

回答

1

當然你不會得到!您將:Book_With_Atleast_One_Male_Author定義爲Bookrestriction之間交點的subClassOf

subClassOf語義:

Sub subClassOf Super 

意味着Sub每個實例的Super一個實例。

這意味着:Book_With_Atleast_One_Male_Author的實例必須遵循您定義的這個restriction,但這並不意味着遵循此限制的任意個人是Book_With_Atleast_One_Male_Author的實例。

您可以做的是將:Book_With_Atleast_One_Male_Author定義爲Book與您創建的restriction的匿名類之間的交集的等價類。因此,每個既是Book又符合restriction的個人將(推理者運行)歸類爲:Book_With_Atleast_One_Male_Author

這裏是你如何能做到這:

:Book_With_Atleast_One_Male_Author rdf:type owl:Class ; 
           owl:equivalentClass [ owl:intersectionOf ( :Book :EquivalentToBookAndHasMaleAuthor) ;rdf:type owl:Class ] . 

:EquivalentToBookAndHasMaleAuthor rdf:type owl:Class ; 
           owl:equivalentClass [ rdf:type owl:Restriction; owl:onProperty :hasAuthor ; owl:someValuesFrom :Male] . 
+0

我剛剛使用OWL2-QL規則集加載了graphDB軟件,但沒有奏效。我有一個文件,但我不知道如何與你分享文件。 – Sidd

+0

你加載到GraphDB中的是什麼?那是什麼文件?你能否更具體一些? –

+0

@Sidd你必須改變你的本體論像MedianHilal建議UND載荷到您的GraphDB數據集以及 – AKSW