tq=` PREFIX ecrm: PREFIX orl: PREFIX ontolex: PREFIX olires: SELECT (?form AS ?IRIForma) (?Rappresentazione AS ?Forma) (?lm AS ?Lemma) (?textver AS ?Verso) (?NumVerso AS ?NumeroVerso) (?t_canto AS ?Canto) (?t_cantica AS ?Cantica) WHERE { ?fa orl:occurrenceOf ?form; ecrm:P148i_is_component_of ?ver. ?ver ecrm:P190_Has_Symbolic_Content ?textver; olires:hasNumber ?NumVerso; ecrm:P148i_is_component_of ?canto. ?canto ecrm:P102_has_title ?t_canto; ecrm:P148i_is_component_of ?cantica. ?cantica ecrm:P102_has_title ?t_cantica. ?form ontolex:writtenRep ?Rappresentazione. ?lent ontolex:lexicalForm ?form; ontolex:canonicalForm ?cf. ?cf ontolex:writtenRep ?lm. { ?form orl:FormaVerboVolgare; orl:TipoDiatesiVerboVolgare orl:VerboVolgareAttivo.} UNION { ?form orl:FormaSostantivoVolgare; orl:TipoNumeroSostantivoVolgare orl:NumeroSingolareSostantivoVolgare. } } ORDER BY (?Cantica) (?Canto) (?NumVerso) LIMIT 50 ` var hdnquerygrammar=` Expression = head:((_)?"("(_)?("AND "/"OR ") Filtro+ (_)?(")")?){return '{"'+head[3]+'": ['+head[4]+"]}"}//{ return head}.join("").replaceAll(", ,","").replaceAll("(,","(").replaceAll(",("," (")} / resu:Filtro {return resu[1].split().join()+' ';} Filtro = (_)"("?head:(("AND "/"OR "))? tail:Clausola+ (_)? closecl:(")")? {if (head != null) return ' {"'+head+'":['+tail+"]}"; else if (tail!=null & tail.length <2) return ' {"TERM": ['+tail+']}' else return ""+tail+"";} / cl:Clausola Clausola = cla:("Clausola"Integer)(_)? {return '"'+cla[0]+cla[1]+'"';} Integer "integer" = _ [0-9]+ { return parseInt(text(), 10); } _ "whitespace"= " "* ` var testmm=0 //query ontoSparqlQuery=`PREFIX rdfs: PREFIX ecrm: PREFIX hdn: PREFIX lemon: PREFIX orl: PREFIX xsd: PREFIX ontolex: PREFIX olires: SELECT (?form as ?IRIForma) (?Rappresentazione as ?Forma) (?lm as ?Lemma) (?textver as ?Verso) (?NumVerso as ?NumeroVerso) (?t_canto as ?Canto) (?t_cantica as ?Cantica) WHERE { ?fa orl:occurrenceOf ?form; ecrm:P148i_is_component_of ?ver . ?ver ecrm:P190_Has_Symbolic_Content ?textver; olires:hasNumber ?NumVerso; ecrm:P148i_is_component_of ?canto . ?canto ecrm:P102_has_title ?t_canto; ecrm:P148i_is_component_of ?cantica . ?cantica ecrm:P102_has_title ?t_cantica . ?form ontolex:writtenRep ?Rappresentazione . ?lent ontolex:lexicalForm ?form; ontolex:canonicalForm ?cf . ?cf ontolex:writtenRep ?lm . FILTER regex(?Rappresentazione,"^farò$","i") . #FILTER regex(?lm,"^fare$","i") . FILTER langMatches(lang(?Rappresentazione),"it") } ORDER BY ?Cantica ?Canto ?NumVerso LIMIT 50` //Togliere LIMIT in prod orlprefix='http://dantenetwork.it/ontology/ORL/' function writesparqlquery(query) { return (query); } // write the query in natural language function writesearchValue(form) { var strq='il lemma'; var strcategoria='in tutte le categorie' if (form.oggetto.value=='forma') strq='la forma'; if (form.categoria.value!='all') strcategoria='nella categoria '+ form.categoria.value; return `Cerco: ${strq} ${form.query.value}, ${form.tipo.value}, ${strcategoria}` } // the basic initial query is parsed function gimmespq(){ var SparqlParser = sparqljs.Parser; var parser = new SparqlParser(); return parser.parse(ontoSparqlQuery); } // the query is transformed according the form values function gimmespqfromjson(form){ const sparqlgen = sparqljs.Generator; const generator = new sparqlgen({orl: "http://www.w3.org/2000/01/rdf-schema#" }) const parsedquery=gimmespq() if (form.categoria.value!='all') parsedquery.where[0].triples.push(JSON.parse(data21)[form.categoria.value]); if (form.query.value!="") switch(form.tipo.value) { case 'parola': parsedquery.where[1].expression.args[1].value="^"+form.query.value+"$"; break; case 'sottostringa': parsedquery.where[1].expression.args[1].value=form.query.value; break; case 'prefisso': parsedquery.where[1].expression.args[1].value=form.query.value; break; case 'suffisso': parsedquery.where[1].expression.args[1].value=form.query.value+"$"; break; default: parsedquery.where[1].expression.args[1].value="^"+form.query.value+"$"; }; return generator.stringify(parsedquery); } function getStatements(){ return data21 } var theguiQ='' var multipleCondSpQuery='' var conditions=[] var filters=[] var unionop='{"union": {"type": "union", "patterns":[]}, "bgp": {"type": "bgp", "triples":[]}}' function parseClause(op, tokens){ alert (op+tokens) if (op.trim()=='OR'){ multipleCondSpQuery.where.push(JSON.parse(unionop)['union']); //multipleCondSpQuery.where.at(-1).patterns.push(JSON.parse(unionop)['bgp']); for (var mtoken in tokens){ cond=theguiQ[tokens[mtoken]] multipleCondSpQuery=buildClause(cond, multipleCondSpQuery, -1) } } } function buildSPQuery(guiquery){ theguiQ=''; theguiQ=guiquery; var SparqlParser = sparqljs.Parser; var spqparser = new SparqlParser(); multipleCondSpQuery=spqparser.parse(ontoSparqlQuery); mytestq=spqparser.parse(tq); var parser = peg.generate(hdnquerygrammar); test=guiquery['EsprLogica'].join(" "); test=test.replaceAll("( ","(") test=test.replaceAll(" )",")") clauses= parser.parse(test); jsonclauses=JSON.parse(clauses) for (const ck of Object.keys(jsonclauses)){ parseClause(ck, jsonclauses[ck]) } } function buildSQ(stquery) { if(stquery['EsprLogica']!=null && stquery['EsprLogica'].length>1){ buildSPQuery (stquery) return multipleCondSpQuery; } var SparqlParser = sparqljs.Parser; var parser = new SparqlParser(); const parsedquery =parser.parse(ontoSparqlQuery); const lf = document.getElementById("lemma_forma"); var ftxt = document.getElementById("queryText"); //Nick if (ftxt==null){ ftxt = document.getElementById("searchValue"); myquery=buildClauseNick(stquery, parsedquery); return (myquery) } if (stquery['EsprLogica']!=null && stquery['EsprLogica']!='' && stquery['EsprLogica'].length==1){ clause=stquery['EsprLogica'] myquery=buildClause(stquery[clause], parsedquery, 0) return (myquery) } if (ftxt.value.trim() != "") { if (ftxt.value.trim().slice(-1) !=='*') strval="^" +ftxt.value.trim()+ "$"; else strval=ftxt.value.trim().slice(0, -1) parsedquery.where[1].expression.args[1].value = strval; if (lf.value == 'lemma') parsedquery.where[1].expression.args[0].value = "lm"; } else{ parsedquery.where.splice(1, 1) } return (parsedquery) } //Nick function buildClauseNick(clause, parsedquery){ clause=clause['filtro-1'];//da modificare if (clause['query'] != null && clause['query'].trim() != "") { if (clause['query'].trim().slice(-1) !=='*') strval="^" +clause['query'].trim()+ "$"; else strval=clause['query'].trim().slice(0, -1) parsedquery.where[1].expression.args[1].value = strval; if (clause['lemma_forma'] != null && clause['lemma_forma'] == 'lemma') parsedquery.where[1].expression.args[0].value = "lm"; } else{ parsedquery.where.splice(1, 1) } if (clause['categoria'] !=null && clause['categoria'] != "all") parsedquery.where[0].triples.push(JSON.parse(data21)[clause['categoria']]); if (clause['tipoClausola'] !=null && Object.keys(sottoCategorie).includes(clause['categoria'].trim())){ //sctmp=JSON.parse(sottoCategorieSostantivi) sctmp=sottoCategorie[clause['categoria'].trim()] sctk=Object.keys(sctmp) for (ke in sctk){ keval=clause[encodeURI(sctk[ke])] if (keval!=null && keval!=''){ keval=decodeURI(keval) sttmts=sctmp[sctk[ke]] if (sttmts[keval]!=null && (sttmts[keval].split(':')[1]) != null){ subcatstat= buildsubcategoryClause(sttmts[keval]) parsedquery.where[0].triples.push(subcatstat); } } } } return parsedquery } function buildClause(clause, parsedquery, whereind){ if (clause['queryText'].trim() != "") { if (clause['queryText'].trim().slice(-1) !=='*') strval="^" +clause['queryText'].trim()+ "$"; else strval=clause['queryText'].trim().slice(0, -1) parsedquery.where[1].expression.args[1].value = strval; if (clause['lemma_forma'] == 'lemma') parsedquery.where[1].expression.args[0].value = "lm"; } else{ if (parsedquery.where[1].type=='filter') parsedquery.where.splice(1, 1) } if (clause['typeGramm0'] !=null && clause['typeGramm0'] != "all") if(whereind> -1) parsedquery.where[whereind].triples.push(JSON.parse(data21)[clause['typeGramm0']]); else{ parsedquery.where.at(-1).patterns.push(JSON.parse(unionop)['bgp']); parsedquery.where.at(-1).patterns.at(-1).triples.push(JSON.parse(data21)[clause['typeGramm0']]); } if (clause['typeGramm0'] !=null && Object.keys(sottoCategorie).includes(clause['typeGramm0'].trim())){ //sctmp=JSON.parse(sottoCategorieSostantivi) sctmp=sottoCategorie[clause['typeGramm0'].trim()] sctk=Object.keys(sctmp) for (ke in sctk){ keval=clause[sctk[ke]] if (keval!=null && keval!=''){ sttmts=sctmp[sctk[ke]] if (sttmts[keval]!=null && (sttmts[keval].split(':')[1]) != null){ subcatstat= buildsubcategoryClause(sttmts[keval]) if(whereind> -1) parsedquery.where[whereind].triples.push(subcatstat); else parsedquery.where.at(-1).patterns.at(-1).triples.push(subcatstat); } } } } return parsedquery } function buildsubcategoryClause(sttmnt){ subcattmplate=`{"subject": {"termType": "Variable", "value":"form"}, "predicate": {"termType":"NamedNode"}, "object": {"termType": "NamedNode"}} ` //orlprefix='http://dantenetwork.it/ontology/ORL/' predicate=orlprefix+(sttmnt.split(':')[0]) obj=orlprefix+(sttmnt.split(':')[1]) subcatstatement=JSON.parse(subcattmplate) subcatstatement['predicate']['value']=predicate subcatstatement['object']['value']=obj return (subcatstatement) } /* { "b": "VerboVolgareFunzioneAvverbio", "l": "VerboVolgareFunzioneLocuzione" #CONTROLLARE } "Persona" : ["Qualsiasi persona", "1ª persona singolare", "2ª persona singolare", "3ª persona singolare", "1ª persona plurale", "2ª persona plurale", "3ª persona plurale"], */ var sottoCategorie = { "verbovolgare": {"Diatesi": {"Attivo": "TipoDiatesiVerboVolgare:VerboVolgareAttivo", "Passivo": "TipoDiatesiVerboVolgare:VerboVolgarePassivo"}, "Transitivita": {"Intransitivo": "TipoTransitivitàVerboVolgare:VerboVolgareIntransitivo", "Transitivo": "TipoTransitivitàVerboVolgare:VerboVolgareTransitivo"}, "Genere": {"Femminile": "TipoGenereVerboVolgare:GenereFemminileVerboVolgare", "Maschile": "TipoGenereVerboVolgare:GenereMaschileVerboVolgare"}, "Numero": {"Singolare": "TipoNumeroVerboVolgare:NumeroSingolareVerboVolgare", "Plurale": "TipoNumeroVerboVolgare:NumeroPluraleVerboVolgare"}, "Pers": {"Impersonale": "VerboVolgareImpersonale:VerboVolgareImpersonale"}, "Rifl":{"Riflessivo": "VerboVolgareRiflessivo:VerboVolgareRiflessivo"}, "Coniugazione": {"Prima coniugazione": "TipoConiugazioneVerboVolgare:VerboVolgarePrimaConiugazione", "Seconda coniugazione": "TipoConiugazioneVerboVolgare:VerboVolgareSecondaConiugazione", "Terza coniugazione": "TipoConiugazioneVerboVolgare:VerboVolgareTerzaConiugazione", "Essere coniugazione": "TipoConiugazioneVerboVolgare:VerboVolgareAusiliareEssere", "Avere coniugazione": "TipoConiugazioneVerboVolgare:VerboVolgareAusiliareAvere"}, "Tempi": {"Indicativo presente": "TipoTempoVerboVolgare:PresenteIndicativoVerboVolgare", "Indicativo passato prossimo": "TipoTempoVerboVolgare:PassatoProssimoIndicativoVerboVolgare", "Indicativo imperfetto": "TipoTempoVerboVolgare:ImperfettoIndicativoVerboVolgare", "Indicativo passato remoto": "TipoTempoVerboVolgare:PassatoRemotoIndicativoVerboVolgare", "Indicativo trapassato prossimo": "TipoTempoVerboVolgare:TrapassatoProssimoIndicativoVerboVolgare", "Indicativo trapassato remoto": "TipoTempoVerboVolgare:TrapassatoRemotoIndicativoVerboVolgare", "Indicativo futuro semplice": "TipoTempoVerboVolgare:FuturoSempliceIndicativoVerboVolgare", "Indicativo futuro anteriore": "TipoTempoVerboVolgare:FuturoAnterioreIndicativoVerboVolgare", "Congiuntivo presente": "TipoTempoVerboVolgare:PresenteCongiuntivoVerboVolgare", "Congiuntivo imperfetto": "TipoTempoVerboVolgare:ImperfettoCongiuntivoVerboVolgare", "Congiuntivo passato": "TipoTempoVerboVolgare:PassatoCongiuntivoVerboVolgare", "Congiuntivo trapassato": "TipoTempoVerboVolgare:TrapassatoCongiuntivoVerboVolgare", "Condizionale presente": "TipoTempoVerboVolgare:PresenteCondizionaleVerboVolgare", "Condizionale passato": "TipoTempoVerboVolgare:PassatoCondizionaleVerboVolgare", "Imperativo presente": "TipoTempoVerboVolgare:PresenteImperativoVerboVolgare", "Infinito presente": "TipoTempoVerboVolgare:PresenteInfinitoVerboVolgare", "Infinito passato": "TipoTempoVerboVolgare:PassatoInfinitoVerboVolgare", "Participio presente": "TipoTempoVerboVolgare:PresenteParticipioVerboVolgare", "Participio passato": "TipoTempoVerboVolgare:PassatoParticipioVerboVolgare", "Gerundio presente": "TipoTempoVerboVolgare:PresenteGerundioVerboVolgare", "Gerundio passato": "TipoTempoVerboVolgare:PassatoGerundioVerboVolgare"}, "Funzione": {"Aggettivo":"TipoFunzioneVerboVolgare:VerboVolgareFunzioneAggettivo", "Sostantivo maschile":"TipoFunzioneVerboVolgare:VerboVolgareFunzioneSostantivoMaschile", "Sostantivo femminile":"TipoFunzioneVerboVolgare:VerboVolgareFunzioneSostantivoFemminile"}, "Declinazione": {"Prima declinazione":"TipoDeclinazioneVerboVolgare:PrimaDeclinazioneVerboVolgare", "Seconda declinazione":"TipoDeclinazioneVerboVolgare:SecondaDeclinazioneVerboVolgare", "Terza declinazione":"TipoDeclinazioneVerboVolgare:TerzaDeclinazioneVerboVolgare"}, "Persona": {"1ª persona singolare": "TipoPersonaVerboVolgare:PrimaPersonaSingolareVerboVolgare", "2ª persona singolare": "TipoPersonaVerboVolgare:SecondaPersonaSingolareVerboVolgare", "3ª persona singolare": "TipoPersonaVerboVolgare:TerzaPersonaSingolareVerboVolgare", "1ª persona plurale": "TipoPersonaVerboVolgare:PrimaPersonaPluraleVerboVolgare", "2ª persona plurale": "TipoPersonaVerboVolgare:SecondaPersonaPluraleVerboVolgare", "3ª persona plurale": "TipoPersonaVerboVolgare:TerzaPersonaPluraleVerboVolgare"} }, "sostantivovolgare": { "Genere lemma": {"Lemma femminile": "TipoGenereLemmaSostantivoVolgare:GenereFemminileLemmaSostantivoVolgare", "Lemma maschile": "TipoGenereLemmaSostantivoVolgare:GenereMaschileLemmaSostantivoVolgare"}, "Genere forma": {"Forma femminile": "TipoGenereSostantivoVolgare:GenereFemminileSostantivoVolgare", "Forma maschile": "TipoGenereSostantivoVolgare:GenereMaschileSostantivoVolgare"}, "Numero": {"Singolare": "TipoNumeroSostantivoVolgare:NumeroSingolareSostantivoVolgare", "Plurale": "TipoNumeroSostantivoVolgare:NumeroPluraleSostantivoVolgare"}, "riflpers": {"In locuzione": "SostantivoVolgareInLocuzione:Lv_lv"}, "Declinazione sostantivo": {"Prima declinazione": "TipoDeclinazioneSostantivoVolgare:PrimaDeclinazioneSostantivoVolgare", "Seconda declinazione": "TipoDeclinazioneSostantivoVolgare:SecondaDeclinazioneSostantivoVolgare", "Terza declinazione": "TipoDeclinazioneSostantivoVolgare:TerzaDeclinazioneSostantivoVolgare"} }, "pronomevolgare": { "Genere": {"Femminile": "generePronomeVolgare:PronomeVolgareFemminile", "Maschile": "generePronomeVolgare:PronomeVolgareMaschile"}, "Numero": {"Singolare": "TipoNumeroPronomeVolgare:PronomeVolgareSingolare", "Plurale": "TipoNumeroPronomeVolgare:PronomeVolgarePlurale" }, "Classe/Persona": {"1ª": "TipoClassePersonaPronomeVolgare:PronomeVolgarePrimaClassePersona", "2ª": "TipoClassePersonaPronomeVolgare:PronomeVolgareSecondaClassePersona", "3ª": "TipoClassePersonaPronomeVolgare:PronomeVolgareTerzaClassePersona"}, "Tipo": {"Personale": "TipoDelPronomeVolgare:PronomePersonaleVolgare", "Riflessivo": "TipoDelPronomeVolgarePronomeRiflessivoVolgare", "Interrogativo": "TipoDelPronomeVolgare:PronomeInterrogativoVolgare", "Esclamativo": "TipoDelPronomeVolgare:PronomeEsclamativoVolgare", "Dimostrativo": "TipoDelPronomeVolgare:PronomeDimostrativoVolgare", "Relativo": "TipoDelPronomeVolgare:PronomeRelativoVolgare", "Possessivo": "TipoDelPronomeVolgare:PronomePossessivoVolgare"}, "Forma (Personali/Riflessivi)": {"Libero": "TipoFormaPerRifPronomeVolgare:PronomeLiberoVolgare", "Libero in Composizione": "TipoFormaPerRifPronomeVolgare:PronomeLiberoInComposizioneVolgare", "Proclitico": "TipoFormaPerRifPronomeVolgare:PronomeProcliticoVolgare", "Enclitico": "TipoFormaPerRifPronomeVolgare:PronomeEncliticoVolgare"}, "Funzione (Personali)": {"Libero - soggetto": "TipoFunzionePronomeVolgare:PronomeVolgareLiberoSoggetto", "Libero - soggetto impersonale": "TipoFunzionePronomeVolgare:PronomeVolgareLiberoSoggettoImpersonale", "Libero - complemento": "TipoFunzionePronomeVolgare:PronomeVolgareLiberoComplemento", "Libero - rafforzativo": "TipoFunzionePronomeVolgare:PronomeVolgareLiberoRafforzativo", "Clitico - accusativo": "TipoFunzionePronomeVolgare:PronomeVolgareCliticoAccusativo", "Clitico - dativo": "TipoFunzionePronomeVolgare:PronomeVolgareCliticoDativo", "Clitico - partitivo": "TipoFunzionePronomeVolgare:PronomeVolgareCliticoPartitivo"}, "Tipo (Riflessivi)": {"Proprio": "TipoRiflessiviDelPronomeVolgare:PronomeVolgareProprio", "Lessicalizzato": "TipoRiflessiviDelPronomeVolgare:PronomeVolgareLessicalizzato", "Impersonale": "TipoRiflessiviDelPronomeVolgare:PronomeVolgareImpersonale", "Passivo": "TipoRiflessiviDelPronomeVolgare:PronomeVolgarePassivo", "Reciproco": "TipoRiflessiviDelPronomeVolgare:PronomeVolgareReciproco"} }, "aggettivovolgare": {"Classe": {"1ª":"TipoClasseAggettivoVolgare:AggettivoVolgarePrimaClasse", "2ª": "TipoClasseAggettivoVolgare:AggettivoVolgareSecondaClasse"}, "Genere": {"Femminile": "TipoGenereAggettivoVolgare:AggettivoVolgareFemminile", "Maschile": "TipoGenereAggettivoVolgare:AggettivoVolgareMaschile"}, "Numero": {"Singolare": "TipoNumeroAggettivoVolgare:AggettivoVolgareSingolare", "Plurale": "TipoNumeroAggettivoVolgare:AggettivoVolgareSingolare"}, "Con oggetto indiretto":{"Con oggetto indiretto": "AggettivoVolgareConOggettoIndiretto:AggettivoVolgareConOggettoIndiretto"}, "Tipo aggettivo": { "Qualificativo": "TipoDellAggettivoVolgare:AggettivoQualificativoVolgare", "Indefinito": "TipoDellAggettivoVolgare:AggettivoIndefinitoVolgare", "Interrogativo": "TipoDellAggettivoVolgare:AggettivoInterrogativoVolgare", "Esclamativo": "TipoDellAggettivoVolgare:AggettivoEsclamativoVolgare", "Numerale": "TipoDellAggettivoVolgare:AggettivoNumeraleVolgare", "Dimostrativo": "TipoDellAggettivoVolgare:AggettivoDimostrativoVolgare", "Relativo": "TipoDellAggettivoVolgare:AggettivoRelativoVolgare", "Possessivo": "TipoDellAggettivoVolgare:AggettivoPossessivoVolgare", "In locuzione": "TipoDellAggettivoVolgare:AggettivoVolgareInLocuzione"}, "Grado":{"Comparativo di maggioranza": "TipoGradoAggettivoVolgare:AggettivoVolgareComparativoDiMaggioranza", "Comparativo di minoranza": "TipoGradoAggettivoVolgare:AggettivoVolgareComparativoDiMinoranza", "Comparativo di uguaglianza": "TipoGradoAggettivoVolgare:AggettivoVolgareComparativoDiUgualianza", "Superlativo relativo": "TipoGradoAggettivoVolgare:AggettivoVolgareSuperlativorelativo", "Superlativo assoluto": "TipoGradoAggettivoVolgare:AggettivoVolgareSuperlativoAssoluto"}, "Tipo di Complemento": {"Introdotto da A": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaA", "Introdotto da CON": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaCON", "Introdotto da CONTRO": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaCONTRO", "Introdotto da DA": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaDA", "Introdotto da DI": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaDI", "Introdotto da IN": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaIN", "Introdotto da PER": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaPER", "Introdotto da SU": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaSU", "Introdotto da TRA": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaTRA", "Introdotto da VERSO": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaVERSO", "Introdotto da SOPRA": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaSOPRA", "Introdotto da SOTTO": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaSOTTO", "Introdotto da DINANZI": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaDINANZI", "Introdotto da prep.": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareIntrodottoDaPreposizione", "Oggetto ind.": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareOggettoInd", "Ogg. indi. + compl. con DI": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareOggettoIndComplConDI", "Ogg. ind. pronom.": "TipoDiCompelementoAggettivoVolgare:AggettivoVolgareOggettoIndPronom" }, "Tipo di frase": {"Con infinito retto da A": "TipoDiFraseAggettivoVolgare:AggettivoVolgareConInfinitoRettoDaA", "Con infinito retto da DA": "TipoDiFraseAggettivoVolgare:AggettivoVolgareConInfinitoRettoDaDA", "Con infinito retto da DI": "TipoDiFraseAggettivoVolgare:AggettivoVolgareConInfinitoRettoDaDI", "Con infinito retto da PER": "TipoDiFraseAggettivoVolgare:AggettivoVolgareConInfinitoRettoDaPER", "Con infinito retto da SE": "TipoDiFraseAggettivoVolgare:AggettivoVolgareConInfinitoRettoDaSE", "Con subordinata all'indic.": "TipoDiFraseAggettivoVolgare:AggettivoVolgareConSubordinataAllIndicativo", "Con subordinata al cong.": "TipoDiFraseAggettivoVolgare:AggettivoVolgareConSubordinataAlCongiuntivo", "In locuzione imp.+infinito": "TipoDiFraseAggettivoVolgare:AggettivoVolgareInLocuzioneImpInfinito", "In locuzione imp.+che+indic.": "TipoDiFraseAggettivoVolgare:AggettivoVolgareInLocuzioneImpCheIndicativo", "In locuzione imp.+che+cong.": "TipoDiFraseAggettivoVolgare:AggettivoVolgareInLocuzioneImpCheCongiuntivo", "In locuzione imp.+se+indic.": "TipoDiFraseAggettivoVolgare:AggettivoVolgareInLocuzioneImpSeIndicativo", "In locuzione imp.+se+cong.": "TipoDiFraseAggettivoVolgare:AggettivoVolgareInLocuzioneImpSeCongiuntivo", "In locuzione imp.+come+indic.": "TipoDiFraseAggettivoVolgare:AggettivoVolgareInLocuzioneImpComeIndicativo", "In locuzione imp.+quando+indic.": "TipoDiFraseAggettivoVolgare:AggettivoVolgareInLocuzioneImpQuandoIndicativo", "In locuzione imp.+perché+cong.": "TipoDiFraseAggettivoVolgare:AggettivoVolgareInLocuzioneImpPerchéCongiuntivo", "In locuzione imp.+a+infinito": "TipoDiFraseAggettivoVolgare:AggettivoVolgareInLocuzioneImpAInfinito"} }, "articolovolgare": { "Genere": {"Femminile": "TipoGenereArticoloVolgare:ArticoloVolgareFemminile", "Maschile": "TipoGenereArticoloVolgare:ArticoloVolgareMaschile"}, "Numero":{"Singolare": "TipoNumeroArticoloVolgare:ArticoloVolgareSingolare", "Plurale": "TipoNumeroArticoloVolgare:ArticoloVolgarePlurale"}, "Tipo": {"Determinativo": "TipoDellArticoloVolgare:ArticoloVolgareDeterminativo", "Indeterminativo": "TipoDellArticoloVolgare:ArticoloVolgareIndeterminativo"} }, "avverbiovolgare": "filtriavverbio", "preposizionevolgare": "filtripreposizione", "congiunzionevolgare": "filtricongiunzione", "onomasticavolgare": {"Tipo" :{"Nome proprio":"TipoDellOnomasticaVolgare:NomeProprio", "Nome proprio separato":"TipoDellOnomasticaVolgare:NomeProprioSeparato", "Titolo": "TipoDellOnomasticaVolgare:Titolo"} }, "citazionevolgare": "filtricitazione" } data21 = `{"verbovolgare": {"subject": {"termType": "Variable", "value":"form"}, "predicate": {"termType":"NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}, "object": {"termType": "NamedNode", "value": "http://dantenetwork.it/ontology/ORL/FormaVerboVolgare"}}, "sostantivovolgare": {"subject": {"termType": "Variable", "value":"form"}, "predicate": {"termType":"NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}, "object": {"termType": "NamedNode", "value": "http://dantenetwork.it/ontology/ORL/FormaSostantivoVolgare"}}, "aggettivovolgare": {"subject": {"termType": "Variable", "value":"form"}, "predicate": {"termType":"NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}, "object": {"termType": "NamedNode", "value": "http://dantenetwork.it/ontology/ORL/FormaAggettivoVolgare"}}, "avverbiovolgare": {"subject": {"termType": "Variable", "value":"form"}, "predicate": {"termType":"NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}, "object": {"termType": "NamedNode", "value": "http://dantenetwork.it/ontology/ORL/FormaAvverbioVolgare"}}, "pronomevolgare": {"subject": {"termType": "Variable", "value":"form"}, "predicate": {"termType":"NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}, "object": {"termType": "NamedNode", "value": "http://dantenetwork.it/ontology/ORL/FormaPronomeVolgare"}}, "congiunzionevolgare": {"subject": {"termType": "Variable", "value":"form"}, "predicate": {"termType":"NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}, "object": {"termType": "NamedNode", "value": "http://dantenetwork.it/ontology/ORL/FormaCongiunzioneVolgare"}}, "articolovolgare": {"subject": {"termType": "Variable", "value":"form"}, "predicate": {"termType":"NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}, "object": {"termType": "NamedNode", "value": "http://dantenetwork.it/ontology/ORL/FormaArticoloVolgare"}}, "preposizionevolgare": {"subject": {"termType": "Variable", "value":"form"}, "predicate": {"termType":"NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}, "object": {"termType": "NamedNode", "value": "http://dantenetwork.it/ontology/ORL/FormaPreposizioneVolgare"}}, "interiezionevolgare": {"subject": {"termType": "Variable", "value":"form"}, "predicate": {"termType":"NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}, "object": {"termType": "NamedNode", "value": "http://dantenetwork.it/ontology/ORL/FormaInteriezioneVolgare"}}, "onomasticavolgare": {"subject": {"termType": "Variable", "value":"form"}, "predicate": {"termType":"NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}, "object": {"termType": "NamedNode", "value": "http://dantenetwork.it/ontology/ORL/FormaOnomasticaVolgare"}}, "citazionevolgare": {"subject": {"termType": "Variable", "value":"form"}, "predicate": {"termType":"NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}, "object": {"termType": "NamedNode", "value": "http://dantenetwork.it/ontology/ORL/FormaCitazioneVolgare"}}, "locuzionevolgare": {"subject": {"termType": "Variable", "value":"form"}, "predicate": {"termType":"NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}, "object": {"termType": "NamedNode", "value": "http://dantenetwork.it/ontology/ORL/FormaLocuzioneVolgare"}} } ` sottoCategorieVerbi=`{"Diatesi": {"Attivo": "TipoDiatesiVerboVolgare:VerboVolgareAttivo", "Passivo": "TipoDiatesiVerboVolgare:VerboVolgarePassivo"}, "Transitivita": {"Intransitivo": "TipoTransitivitàVerboVolgare:VerboVolgareIntransitivo", "Transitivo": "TipoTransitivitàVerboVolgare:VerboVolgareTransitivo"}, "Genere": {"Femminile": "TipoGenereVerboVolgare:GenereFemminileVerboVolgare", "Maschile": "TipoGenereVerboVolgare:GenereMaschileVerboVolgare"}, "Numero": {"Singolare": "TipoNumeroVerboVolgare:NumeroSingolareVerboVolgare", "Plurale": "TipoNumeroVerboVolgare:NumeroPluraleVerboVolgare"}, "Pers": {"Impersonale": "VerboVolgareImpersonale:VerboVolgareImpersonale"}, "Rifl":{"Riflessivo": "VerboVolgareRiflessivo:VerboVolgareRiflessivo"}, "Coniugazione": {"Prima coniugazione": "TipoConiugazioneVerboVolgare:VerboVolgarePrimaConiugazione", "Seconda coniugazione": "TipoConiugazioneVerboVolgare:VerboVolgareSecondaConiugazione", "Terza coniugazione": "TipoConiugazioneVerboVolgare:VerboVolgareTerzaConiugazione", "Essere coniugazione": "TipoConiugazioneVerboVolgare:VerboVolgareAusiliareEssere", "Avere coniugazione": "TipoConiugazioneVerboVolgare:VerboVolgareAusiliareAvere"}, "Tempi": {"Indicativo presente": "TipoTempoVerboVolgare:PresenteIndicativoVerboVolgare", "Indicativo passato prossimo": "TipoTempoVerboVolgare:PassatoProssimoIndicativoVerboVolgare", "Indicativo imperfetto": "TipoTempoVerboVolgare:ImperfettoIndicativoVerboVolgare", "Indicativo passato remoto": "TipoTempoVerboVolgare:PassatoRemotoIndicativoVerboVolgare", "Indicativo trapassato prossimo": "TipoTempoVerboVolgare:TrapassatoProssimoIndicativoVerboVolgare", "Indicativo trapassato remoto": "TipoTempoVerboVolgare:TrapassatoRemotoIndicativoVerboVolgare", "Indicativo futuro semplice": "TipoTempoVerboVolgare:FuturoSempliceIndicativoVerboVolgare", "Indicativo futuro anteriore": "TipoTempoVerboVolgare:FuturoAnterioreIndicativoVerboVolgare", "Congiuntivo presente": "TipoTempoVerboVolgare:PresenteCongiuntivoVerboVolgare", "Congiuntivo imperfetto": "TipoTempoVerboVolgare:ImperfettoCongiuntivoVerboVolgare", "Congiuntivo passato": "TipoTempoVerboVolgare:PassatoCongiuntivoVerboVolgare", "Congiuntivo trapassato": "TipoTempoVerboVolgare:TrapassatoCongiuntivoVerboVolgare", "Condizionale presente": "TipoTempoVerboVolgare:PresenteCondizionaleVerboVolgare", "Condizionale passato": "TipoTempoVerboVolgare:PassatoCondizionaleVerboVolgare", "Imperativo presente": "TipoTempoVerboVolgare:PresenteImperativoVerboVolgare", "Infinito presente": "TipoTempoVerboVolgare:PresenteInfinitoVerboVolgare", "Infinito passato": "TipoTempoVerboVolgare:PassatoInfinitoVerboVolgare", "Participio presente": "TipoTempoVerboVolgare:PresenteParticipioVerboVolgare", "Participio passato": "TipoTempoVerboVolgare:PassatoParticipioVerboVolgare", "Gerundio presente": "TipoTempoVerboVolgare:PresenteGerundioVerboVolgare", "Gerundio passato": "TipoTempoVerboVolgare:PassatoGerundioVerboVolgare"} } ` sottoCategorieSostantivi=`{ "Genere lemma": {"Lemma femminile": "TipoGenereLemmaSostantivoVolgare:GenereFemminileLemmaSostantivoVolgare", "Lemma maschile": "TipoGenereLemmaSostantivoVolgare:GenereMaschileLemmaSostantivoVolgare"}, "Genere forma": {"Forma femminile": "TipoGenereSostantivoVolgare:GenereFemminileSostantivoVolgare", "Forma maschile": "TipoGenereSostantivoVolgare:GenereMaschileSostantivoVolgare"}, "Numero": {"Singolare": "TipoNumeroSostantivoVolgare:NumeroSingolareSostantivoVolgare", "Plurale": "TipoNumeroSostantivoVolgare:NumeroPluraleSostantivoVolgare"}, "riflpers": {"In locuzione": "SostantivoVolgareInLocuzione:Lv_lv"}, "Declinazione sostantivo": {"Prima declinazione": "TipoDeclinazioneSostantivoVolgare:PrimaDeclinazioneSostantivoVolgare", "Seconda declinazione": "TipoDeclinazioneSostantivoVolgare:SecondaDeclinazioneSostantivoVolgare", "Terza declinazione": "TipoDeclinazioneSostantivoVolgare:TerzaDeclinazioneSostantivoVolgare"} } ` //sottoCategorie=`{"verbovolgare": ["Diatesi,2", "Transitivita,2", "Genere,2", "Numero,2", "Pers,1", "Rifl,1", "Coniugazione,n", "Tempi,n", "Persona,n", "Funzione,n", "Declinazione,n"], //"sostantivovolgare": ["pippo,2", "pluto,2"]}`