2017-01-23 187 views
0

我試圖運行LUBM基準測試,但推理後我遇到了一些分類問題。LUBM基準測試中的子類的成員不屬於超類的成員

我使用的文件是:

The main ontology

The output of the LUBM generator 1.7

的問題是,GraduateStudentUndergraduateStudent成員不被列爲Student超類的成員。

我在Protege 5.0上試過了Pellet,Hermit和Fact reasoners,都失敗了。因此,基準SPARQL查詢號碼10也失敗。

#-- Query10 
#-- This query differs from Query 6, 7, 8 and 9 in that it only requires the 
#-- (implicit) subClassOf relationship between GraduateStudent and Student, i.e., 
#-- subClassOf rela-tionship between UndergraduateStudent and Student does not add 
#-- to the results. 

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX ub: <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#> 

SELECT ?X WHERE { 
    ?X rdf:type ub:Student . 
    ?X ub:takesCourse <http://www.Department0.University0.edu/GraduateCourse0> 
} 

你可以在這裏找到我的Protegé分類的屏幕截圖(對不起,我沒有足夠的聲望來直接發佈圖片)。

screenshot

在門徒4.3分類工作佩萊和山人,但SPARQL查詢仍然失敗。

我已經修改了推理器設置以顯示所有推斷的知識,所以它不是因爲它們只是隱藏而已。

我覺得這種行爲很混亂,特別是考慮到這應該是一個成熟的基準。我想有一個非常小的解決方案,但我無法找到它,所以任何幫助將不勝感激!

編輯:我成功運行了基準。我手動複製了TBox內部的ABox(我從發生器獲得的那個)的xml代碼。通過這種方式,分類適用於Protege 4和API。此外SPARQL查詢使用snap SPARQL工作,如此處所示。分類仍然不適用於Protege 5.我很想知道是什麼導致了這一點。

+0

您必須使用Snap SPARQL插件,而不是Protege附帶的插件。 – AKSW

回答

1

單獨生成器僅生成足以回答查詢子集的數據(查詢1-3和14)。爲了讓SPARQL系統回答所有需要應用推理的查詢。它是如何實現的是一個實現特定的細節。對於許多系統推斷默認情況下都是關閉的,並且必須啓用。

根據使用的系統,您可能需要提供鏈接到系統的主要本體,並啓用所需的任何適當設置。

這可能是因爲Protege中的SPARQL查詢沒有考慮到推斷的知識,但我從未使用過保護,因此無法評論該特定工具。

+0

我同意。正如你所指出的,查詢10只能在推理後才能執行,因爲它需要'GraduateStudent'及其成員被歸類爲'學生'。我得到的是,'GraduateStudent'類正確分類,但其成員不是,因此SPARQL查詢失敗。 我認爲問題出在推理時間,可能是由於一些IRI問題。 此外,我試圖從貓頭鷹api使用顆粒做同樣的事情,我得到了類似的結果。所以這可能不是Protegé的問題。 如果你曾經嘗試過基準測試,你是如何加載一個你使用過哪些文件的? –

+0

您必須使用Snap SPARQL插件,而不是Protege附帶的插件。 – AKSW