[英]Multiple individuals retrieved from sparql query
我有一个猫头鹰文件类,个人在同一个文件中。 投诉和用户(类)。 我以个人身份创建用户的投诉。 投诉类具有dataProperties(id,读取次数,标题,标签,内容等)。我在Eclipse swing项目上使用jena编写了一个sparql查询;
String queryRetrieveAll = "SELECT * WHERE \n { "
+ "?Complaint skyt:numOfRead ?Num . "
+ " FILTER (?Num >= 1) "
+ ".}\n";
并检索我的猫头鹰档案中的所有投诉。 例如;
-------------------------------
| Complaint | Num |
===============================
| skyt:apple | 484 |
| skyt:toshiba | 202 |
| skyt:niluferturizm | 43 |
| skyt:kamilkoc | 42 |
| skyt:eceElektronik | 254 |
| skyt:celebi | 112 |
没关系,但是。 我也想从查询中检索投诉的所有者。 我在上面添加一个行查询。
String queryRetrieveAll = "SELECT * WHERE \n { "
+ "?Complaint skyt:numOfRead ?Num . "
+ " FILTER (?Num >= 1) "
+ "?Complaint skyt:Owner ?owner . "// or "?Complaint skyt:sId ?ID . "
+ ".}\n";
此查询的结果是,反复检索个人,
-----------------------------------------------
| Complaint | Num | Owner
===============================================
| skyt:apple | 484 | skyt:huseyinG |
| skyt:apple | 484 | skyt:kaanY |
| skyt:apple | 484 | skyt:ramazanÇ |
| skyt:apple | 484 | skyt:mertM |
| skyt:apple | 484 | skyt:burakÇ |
| skyt:apple | 484 | skyt:merveE |
| skyt:apple | 484 | skyt:ertuncE |
| skyt:toshiba | 202 | skyt:sahinT |
| skyt:niluferturizm | 43 | skyt:yasinT |
| skyt:kamilkoc | 42 | skyt:hanifeC |
| skyt:kamilkoc | 42 | skyt:HasanH |
| skyt:kamilkoc | 42 | skyt:semihA |
| skyt:eceElektronik | 254 | skyt:sonerD |
| skyt:celebi | 112 | skyt:gayeB |
| skyt:polypadSarj | 265 | skyt:serefG |
| skyt:polypadSarj | 265 | skyt:metinY |
| skyt:polypadSarj | 265 | skyt:simayS
| skyt:apple | 871 | skyt:huseyinG |
| skyt:apple | 871 | skyt:kaanY |
| skyt:apple | 871 | skyt:ramazanÇ |
| skyt:apple | 871 | skyt:mertM |
| skyt:apple | 871 | skyt:burakÇ |
| skyt:apple | 871 | skyt:merveE |
| skyt:apple | 871 | skyt:ertuncE |
我该如何解决? 我想检索所有与owner,id,numOfread,vs.相关的投诉。
我解决了问题。 在猫头鹰文件中,有些人是我的名字错误。 例如关于苹果的投诉,我给这个个人起了个“苹果”的名字。 因此,它们有时会检索多个。 我给所有人都起不同的名字,并在下面更改我的查询。 然后就可以了。 :)
String queryExtractAll =
"SELECT DISTINCT ?Num ?Owner ?Title ?Content WHERE \n { "
+ "?Complaint skyt:numofRead ?Num;"
+ "skyt:owner ?Owner;"
+ "skyt:title ?Title;"
+ "skyt:content ?Content"
+ " FILTER (?Num >= 1) " + ".}\n"
+ " ORDER BY DESC (?Num) ";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.