diff --git a/js/browseMgr_5.1.js b/js/browseMgr_5.1.js
index 1892a8f..f10e0f7 100644
--- a/js/browseMgr_5.1.js
+++ b/js/browseMgr_5.1.js
@@ -320,7 +320,7 @@ $(document).ready(function() {
continue;
}
numeroRisultati = numeroRisultati + 1;
- //ultimaPosizione=await getFormaCntxtLastPosition(risultato, contextLength)
+
ultimaPosizione = getContextLastPosition(risultato, contextLength);
}
numeroContesti = numeroRisultati
@@ -354,7 +354,6 @@ $(document).ready(function() {
}
if (contaContesti > endcont)
break;
- //ultimaPosizione=await getFormaCntxtLastPosition(risultato, contextLength)
ultimaPosizione = getContextLastPosition(risultato, contextLength);
}
//ordino la lista dei risultati
diff --git a/js/dataMgr_5.1.js b/js/dataMgr_5.1.js
index 0efe6f0..3764764 100644
--- a/js/dataMgr_5.1.js
+++ b/js/dataMgr_5.1.js
@@ -38,13 +38,12 @@ console.log('datamgr init done')
await db.registerFileBuffer('buffer.parquet', new Uint8Array(await res.arrayBuffer()));*/
const conn = await db.connect();
-
+//CREATE TABLE commedia AS
+// SELECT * FROM "https://lida.dantenetwork.it/js/data/com.parquet";
await conn.query(`
CREATE TABLE riferimenti AS
SELECT * FROM "https://lida.dantenetwork.it/js/data/riferimenti_5.parquet";
- CREATE TABLE commedia AS
- SELECT * FROM "https://lida.dantenetwork.it/js/data/com.parquet";
-
+
`);
var table = await conn.query(`
@@ -79,11 +78,11 @@ const result4 = table1.toArray().map((row) => row.toJSON());
rif_fonti = result4.map((x) => x['TiFo']);
//console.log(rif_fonti)
-var tableP = await conn.query(`
+/*var tableP = await conn.query(`
select * from commedia limit 10;
`);
const result5 = tableP.toArray().map((row) => row.toJSON());
-console.log(result5)
+console.log(result5)*/
await conn.close();
@@ -522,18 +521,19 @@ function filtroContesto(marray, cantica, op) {
//Contesto per lista risultati
export async function getFormaCntxtLastPosition(formaid, numversi = 3) {
- const tconn = await db.connect();
+ /*const tconn = await db.connect();
var querycnt = "select * from commedia where index>=((select index from commedia where Position='" + formaid + "')-25) order by index limit 50"
- /*console.log(" " + formaid)*/
+ console.log(" " + formaid)
var rs = await tconn.query(querycnt)
var result4 = rs.toArray().map((row) => row.toJSON());
- /*console.log(result4.at(-1)['Position'])
- console.log('-----------------------------------------')*/
+ console.log(result4.at(-1)['Position'])
+ console.log('-----------------------------------------')
await tconn.close();
- return (result4.at(-1)['Position'])
+ return (result4.at(-1)['Position'])*/
+ return
}
diff --git a/js/utilsMgr.js b/js/utilsMgr.js
index 4f9e6ed..ff63b87 100644
--- a/js/utilsMgr.js
+++ b/js/utilsMgr.js
@@ -403,7 +403,7 @@ function buildSPQuery(guiquery) {
else
multipleCondSpQuery = spqparser.parse(ontoSparqlQueryMultCond);
var parser = peg.generate(hdnquerygrammar);
- var test = guiquery['EsprLogica'].join(" ");
+ test = guiquery['EsprLogica'].join(" ");
test = test.replaceAll("( ", "(")
test = test.replaceAll(" )", ")")
clauses = parser.parse(test);
@@ -449,14 +449,12 @@ function buildSQ(stquery) {
clause = stquery['EsprLogica']
filtroContesto = getFiltroContestoJson(JSON.parse(stquery[clause[0]]['contesto']))
-
-
- //if (stquery[clause]['TipoClausola'] == 'Sintattico') {
- if (stquery[clause]['typeSyntax0'].trim()!='' && stquery[clause]['typeSyntax0'].trim()!='.+'){
+ if (stquery[clause]['TipoClausola'] == 'Sintattico') {
parsedquery = parser.parse(ontoSparqlQuerySynt);
var tempsyntquery = buildSintacticClause(stquery[clause], parsedquery, 2)
if (filtroContesto.length > 0) {
for (tmpc of filtroContesto) {
+
tempsyntquery.where.splice(0, 0, tmpc)
}
}
@@ -850,11 +848,11 @@ function buildClause(clause, parsedquery, whereind) {
//sctmp=JSON.parse(sottoCategorieSostantivi)
sctmp = sottoCategorie[clause['typeGramm0'].trim()]
sctk = Object.keys(sctmp)
- for (ke of sctk) {
+ for (ke in sctk) {
- keval = clause[ke]
+ keval = clause[sctk[ke]]
if (keval != null && keval != '') {
- sttmts = sctmp[ke]
+ sttmts = sctmp[sctk[ke]]
if (sttmts[keval] != null && (sttmts[keval].split(':')[1]) != null) {
subcatstat = buildsubcategoryClause(sttmts[keval])
if (whereind > -1)
diff --git a/js/utilsMgr_5.1.js b/js/utilsMgr_5.1.js
index 243b685..05f5ede 100644
--- a/js/utilsMgr_5.1.js
+++ b/js/utilsMgr_5.1.js
@@ -62,7 +62,7 @@ PREFIX orl:
PREFIX ontolex:
PREFIX olires:
PREFIX syntit:
-SELECT DISTINCT ?sentence ?clocc ?clfr ?clto ?clafunction ?clatype (?t_canto as ?Canto) (?t_cantica as ?Cantica)
+SELECT DISTINCT ?sentence ?clocc ?clfr ?clto ?clafunction ?clatype (?t_canto as ?Canto) (?t_cantica as ?Cantica) ?pos
WHERE {
FILTER regex(?Rappresentazione,"^persona$","i") . #remove if query_text==''
FILTER langMatches(lang(?Rappresentazione),"it") #remove if query_text==''
@@ -71,6 +71,8 @@ WHERE {
ontolex:canonicalForm ?cf. #remove if query_text==''
?cf ontolex:writtenRep ?lm. #remove if query_text==''
?fa olires:occurrenceOf ?cat . #remove if query_text==''
+ ?fa olires:OccursInRegion ?reg. #remove if query_text==''
+ ?reg olires:fragmentRegionFrom ?pos. #remove if query_text==''
?clocc ecrm:P148_has_component ?fa . #remove if query_text==''
?cl syntit:hasClauseType ?clatype;
ecrm:P190_has_symbolic_content ?cltext;
@@ -969,6 +971,8 @@ function buildSintacticClause(clause, parsedquery, whereind) {
//remove the filter for text CHANGE!
parsedquery.where.splice(0, 1)
parsedquery.where.splice(0, 1)
+ parsedquery.where[0].triples.splice(7, 1)
+ parsedquery.where[0].triples.splice(6, 1)
parsedquery.where[0].triples.splice(5, 1)
parsedquery.where[0].triples.splice(4, 1)
parsedquery.where[0].triples.splice(3, 1)