Skip to content

Commit 91c330e

Browse files
author
Gaurav SinghaRoy
committed
implemented actual filtering based on subclasses
1 parent 919a374 commit 91c330e

1 file changed

Lines changed: 36 additions & 1 deletion

File tree

app/assets/javascripts/resources/querybuilder.js

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,18 @@ QueryBuilder = {
5656
QueryBuilder.hide_searched_query_results();
5757
QueryBuilder.properties.reset();
5858
},
59-
show_equivalent_sparql_query : function(){
59+
generate_equivalent_sparql_query : function(){
6060
var query = "";
6161
query += SPARQL.prefix.rdf;
6262
query += SPARQL.prefix.rdfs;
6363
query += "SELECT ?concept ?label WHERE \n{ ?concept rdf:type <"+$("#hdn_qb_class").val()+">.\n ?concept rdfs:label ?label.\n";
64+
query += QueryBuilder.properties.get_subclasses_triples();
6465
query += "FILTER(langMatches(lang(?label), \"EN\"))}\n LIMIT 200";
6566
$("#txt_sparql_query").val(query);
67+
}
68+
,
69+
show_equivalent_sparql_query : function(){
70+
QueryBuilder.generate_equivalent_sparql_query();
6671
$(".qb-equivalent-query-main").show("fast");
6772
},
6873
hide_equivalent_sparql_query : function(){
@@ -163,7 +168,36 @@ QueryBuilder = {
163168
get_subclasses_for_selected_class : function(){
164169
QueryBuilder.properties.get_subclasses(QueryBuilder.classes.get_selected_class());
165170
},
171+
get_subclasses_triples : function(){
172+
var result = "";
173+
var all = false;
174+
$(".property-subclass-group").each(function(index){
175+
if($(this).attr("clicked") == "true")
176+
all = true;
177+
});
178+
if(!all){
179+
var subclasses = [];
180+
$(".property-subclass-individual").each(function(index){
181+
if($(this).attr("clicked") == "true"){
182+
all = false;
183+
subclasses.push("<"+$(this).attr("uri")+">");
184+
}
185+
186+
});
187+
if(!all){
188+
for(var i=0;i < subclasses.length ; i++){
189+
if(result != "")
190+
result += "UNION \n"
191+
result += "{?concept rdf:type "+subclasses[i]+"} ";
192+
}
193+
result += " .\n"
194+
}
195+
}
196+
197+
return result;
198+
},
166199
select_subclass : function(uri){
200+
167201
$("#property_main_subclasses_group").find(".list-group-item").each(function(index){
168202
var html = "";
169203
if($(this).attr("uri") == uri){
@@ -192,6 +226,7 @@ QueryBuilder = {
192226
$(this).html(html);
193227
}
194228
});
229+
QueryBuilder.generate_equivalent_sparql_query();
195230
}
196231
}
197232

0 commit comments

Comments
 (0)