如何使用 SPARQL 获取数据库中所有人的昵称和电子邮件?
How to get nicknames and e-mails of all people in the database using SPARQL?
我有一个包含一些 VCARD 数据的 Apache Jena 数据库。我想制定一个查询,return
- 电子邮件地址和
- 昵称
对于数据库中的每个用户。
我试过这个:
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" ...
"{" ...
"}" ...
";" ...
"," ...
"." ...
查询的正确版本是什么?
按照您的使用方式,三元组的末尾不允许有逗号,内部组模式看起来也没有必要。
尝试这样的事情 -
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 .
}
我有一个包含一些 VCARD 数据的 Apache Jena 数据库。我想制定一个查询,return
- 电子邮件地址和
- 昵称
对于数据库中的每个用户。
我试过这个:
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" ...
"{" ...
"}" ...
";" ...
"," ...
"." ...
查询的正确版本是什么?
按照您的使用方式,三元组的末尾不允许有逗号,内部组模式看起来也没有必要。
尝试这样的事情 -
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 .
}