2016-05-25 51 views
3

我使用MarkLogic作爲RDF服務器和LUBM數據集來測試我的一些訪問控制策略。我已經在MarkLogic中加載了一些.owl文件(由LUBM生成器創建)。之後,當我瀏覽數據庫,它看起來像這樣:Marklogic和LUBM數據的SPARQL查詢

screenshot

的問題是,當我嘗試查詢,它總是返回「您的查詢返回一個空序列」。以下是一些LUBM數據的示例查詢:http://swat.cse.lehigh.edu/projects/lubm/queries-sparql.txt

+1

您的一些查詢語法上不正確。例如,在第一個例子中,你需要'http://www.Department0.University0.edu/GraduateCourse0'周圍的'<' and '>'。 –

+1

如果沒有看到您擁有的實際數據,我們無法真正瞭解您的查詢無法正常工作的原因。像'select * where {?s?p?o}'返回的非常簡單的查詢是什麼? –

回答

3

我懷疑問題是您已經將.owl文件直接加載爲XML,但沒有將它們獲取到三元組索引中。鑑於你的OWL文件,try using MLCP to load them

完成之後,再次查看查詢控制檯。您應該看到帶有URI的文檔,例如/triplestore/353b9c6d0ce5910f.xml。這些將把你的三元組保存在the format that MarkLogic expects to work with internally中。 (別擔心,您仍然可以用其他格式導出它們)。

接下來,檢查您是否爲您正在使用的數據庫啓用了三元組索引。您可以使用管理界面(端口8001)或管理API將其打開。

如果一切順利,您應該可以使用瀏覽器運行簡單測試:http://localhost:8060/v1/graphs/things。將端口號替換爲使用您的內容數據庫的應用程序服務器的端口號。如果一切順利,你應該看到一些由三元組代表的「事物」。然後再次嘗試您的查詢。

+0

非常感謝!原來我第一次使用MLCP時忘了'-input_file_type RDF',所以它沒有正確加載.owl文件。現在一切正常。 –