Add GRAPH block for each triple

This commit is contained in:
yuysun 2010-12-22 17:10:34 +00:00
parent 877dfb5438
commit 11b3a72672

View file

@ -303,7 +303,7 @@
// namespaces shown in the SPARQL query box // namespaces shown in the SPARQL query box
var namespace = getNamespace(); var namespace = getNamespace();
var gid = 0;
for (i=0; i < level; i++){ for (i=0; i < level; i++){
var subjects = document.getElementById("subject(" + i + ")"); var subjects = document.getElementById("subject(" + i + ")");
if (subjects == null){ if (subjects == null){
@ -322,7 +322,8 @@
_sub = sub.substring(sub.indexOf(":") + 1) + clazz[sub.substring(sub.indexOf(":") + 1)]; _sub = sub.substring(sub.indexOf(":") + 1) + clazz[sub.substring(sub.indexOf(":") + 1)];
} }
var subname = "?" + _sub; var subname = "?" + _sub;
criterias[criterias.length] = subname + " rdf:type " + sub + " ."; gid++;
criterias[criterias.length] = "GRAPH ?g" + gid + " { " + subname + " rdf:type " + sub + " . }";
var predicates = document.getElementById("predicate(" + i + ")"); var predicates = document.getElementById("predicate(" + i + ")");
@ -330,6 +331,7 @@
var num = preNodes.length; var num = preNodes.length;
for (j=0; j<num; j++){ for (j=0; j<num; j++){
gid++;
var pre = preNodes[j]; var pre = preNodes[j];
obj = document.getElementById("object(" + pre.level + "," + pre.count + ")"); obj = document.getElementById("object(" + pre.level + "," + pre.count + ")");
if (obj == null){ if (obj == null){
@ -342,7 +344,7 @@
if (obj.tagName == "INPUT"){ if (obj.tagName == "INPUT"){
var objname = subname + "_" + pre.substring(pre.indexOf(":") + 1); var objname = subname + "_" + pre.substring(pre.indexOf(":") + 1);
criterias[criterias.length] = subname + " " + pre + " " + objname + " ."; criterias[criterias.length] = "GRAPH ?g" + gid + " { " + subname + " " + pre + " " + objname + " . }";
items[items.length] = objname; items[items.length] = objname;
if (obj.value != ""){ if (obj.value != ""){
criterias[criterias.length] = "FILTER REGEX (str(" + objname + "), '" + obj.value + "', 'i')"; criterias[criterias.length] = "FILTER REGEX (str(" + objname + "), '" + obj.value + "', 'i')";
@ -362,7 +364,7 @@
_obj = obj.substring(obj.indexOf(":") + 1) + number; _obj = obj.substring(obj.indexOf(":") + 1) + number;
} }
var objname = "?" + _obj; var objname = "?" + _obj;
criterias[criterias.length] = subname + " " + pre + " " + objname + " ."; criterias[criterias.length] = "GRAPH ?g" + gid + " { " + subname + " " + pre + " " + objname + " . }";
} }
} }
@ -375,7 +377,7 @@
} }
var criteria = criterias.join("\n"); var criteria = criterias.join("\n");
var query = namespace+ "SELECT " + item + "\nWHERE{\nGRAPH ?g {\n" + criteria + "\n}\n}\n"; var query = namespace+ "SELECT " + item + "\nWHERE{\n" + criteria + "\n}\n";
var quediv = document.getElementById("sparqlquery"); var quediv = document.getElementById("sparqlquery");
var quetextarea = document.getElementById("query"); var quetextarea = document.getElementById("query");
quediv.style.visibility = "visible"; quediv.style.visibility = "visible";