繁体   English   中英

从sparql查询中检索到多个人

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM