从sparql查询中检索到的多个人

时间:2016-12-20 10:59:51

标签: sparql owl apache-jena

我有一个猫头鹰文件类和个人在同一个文件中。 投诉和用户(班级)。 我创建用户'个人投诉。 投诉类具有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  |

我是如何解决的?我想检查所有投诉,包括所有者,id,numOfread,vs.

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。 在owl文件中,我的错误中有些人是同名的。例如关于苹果的投诉,我将这个个人名称命名为" apple"。出于这个原因,他们有时会检索多个。我给出了所有人的不同名称,并在下面更改我的查询。然后它工作。 :)

$("#program").parents(".form-group").toggle();
$("#year").parents(".form-group").toggle();