2017-02-10 26 views
0

我有一個具有一些VCARD數據的Apache Jena數據庫。我想制定一個查詢,這將返回如何使用SPARQL獲取數據庫中所有人員的暱稱和電子郵件?

  1. 電子郵件地址和
  2. 暱稱

數據庫中的每個用戶。

我嘗試這樣做:

SELECT ?nick ?email 
WHERE { 
    ?x <http://www.w3.org/2001/vcard-rdf/3.0#EMAIL> ?email, 
    ?x <http://www.w3.org/2001/vcard-rdf/3.0#N> ?n { 
     ?n <http://www.w3.org/2001/vcard-rdf/3.0#NICKNAME> ?nick 
    } 
} 

當我嘗試運行此查詢,我得到了以下錯誤消息:

org.apache.jena.query.QueryParseException: Encountered " <IRIref> "<http://www.w3.org/2001/vcard-rdf/3.0#N> "" at line 4, column 32. Was expecting one of: "values" ... "graph" ... "optional" ... "minus" ... "bind" ... "service" ... "filter" ... "{" ... "}" ... ";" ... "," ... "." ...

什麼是查詢正確的版本?

回答

2

逗號不允許在您使用它的方式在三重結尾,內部組模式看起來沒有必要。

嘗試這樣的事情 -

SELECT ?nick ?email 
WHERE { 
    ?x <http://www.w3.org/2001/vcard-rdf/3.0#EMAIL> ?email . 
    ?x <http://www.w3.org/2001/vcard-rdf/3.0#N> ?n . 
    ?n <http://www.w3.org/2001/vcard-rdf/3.0#NICKNAME> ?nick . 
} 
相關問題