From b5062f542927fcf3df25ff063d44eb07e913aca4 Mon Sep 17 00:00:00 2001 From: Michele De Bonis Date: Mon, 12 Nov 2018 14:11:15 +0100 Subject: [PATCH] configuration file updated, addition of condition on domain --- .../pace/common/AbstractPaceFunctions.java | 19 ++-- .../pace/condition/DomainExactMatch.java | 30 ++++++ .../dnetlib/pace/config/translation_map.csv | 94 +++++++++---------- 3 files changed, 88 insertions(+), 55 deletions(-) create mode 100644 dnet-pace-core/src/main/java/eu/dnetlib/pace/condition/DomainExactMatch.java diff --git a/dnet-pace-core/src/main/java/eu/dnetlib/pace/common/AbstractPaceFunctions.java b/dnet-pace-core/src/main/java/eu/dnetlib/pace/common/AbstractPaceFunctions.java index 9fa67d7c1..dde321816 100644 --- a/dnet-pace-core/src/main/java/eu/dnetlib/pace/common/AbstractPaceFunctions.java +++ b/dnet-pace-core/src/main/java/eu/dnetlib/pace/common/AbstractPaceFunctions.java @@ -190,13 +190,14 @@ public abstract class AbstractPaceFunctions { final StringBuilder sb = new StringBuilder(); while (st.hasMoreTokens()){ final String token = st.nextToken(); - sb.append(" " + translationMap.getOrDefault(token,token) + " "); + sb.append(translationMap.getOrDefault(token,token) + " "); } - return sb.toString(); + return sb.toString().trim(); } + //TODO remove also codes of the cities public String removeCodes(String s) { - final String regex = " \\d+ "; + final String regex = "\\bkey::[0-9]*\\b"; return s.replaceAll(regex, "").trim(); } @@ -213,17 +214,19 @@ public abstract class AbstractPaceFunctions { } //get the list of keywords in a string - public List getKeywords(String s) { + public List getKeywords(String s) { - final String regex = " \\d+ "; +// final String regex = " \\d+ "; + + final String regex = "\\bkey::[0-9]*\\b"; Pattern p = Pattern.compile(regex, Pattern.MULTILINE); Matcher m = p.matcher(s); - List codes = new ArrayList<>(); + List codes = new ArrayList<>(); while (m.find()) { - codes.add(Integer.parseInt(m.group(0).replace(" ", ""))); + codes.add(m.group(0)); for (int i = 1; i <= m.groupCount(); i++) { - codes.add(Integer.parseInt(m.group(0).replace(" ", ""))); + codes.add(m.group(0)); } } return codes; diff --git a/dnet-pace-core/src/main/java/eu/dnetlib/pace/condition/DomainExactMatch.java b/dnet-pace-core/src/main/java/eu/dnetlib/pace/condition/DomainExactMatch.java new file mode 100644 index 000000000..e415f1565 --- /dev/null +++ b/dnet-pace-core/src/main/java/eu/dnetlib/pace/condition/DomainExactMatch.java @@ -0,0 +1,30 @@ +package eu.dnetlib.pace.condition; + +import eu.dnetlib.pace.model.Field; +import eu.dnetlib.pace.model.FieldDef; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.List; + +@ConditionClass("DomainExactMatch") +public class DomainExactMatch extends ExactMatchIgnoreCase { + + public DomainExactMatch(String cond, List fields) { + super(cond, fields); + } + + @Override + protected String getValue(final Field f) { + return asUrl(super.getValue(f)).getHost(); + } + + private URL asUrl(final String value) { + try { + return new URL(value); + } catch (MalformedURLException e) { + // should not happen as checked by pace typing + throw new IllegalStateException("invalid URL: " + value); + } + } +} diff --git a/dnet-pace-core/src/main/resources/eu/dnetlib/pace/config/translation_map.csv b/dnet-pace-core/src/main/resources/eu/dnetlib/pace/config/translation_map.csv index 201a31b90..cd1479688 100644 --- a/dnet-pace-core/src/main/resources/eu/dnetlib/pace/config/translation_map.csv +++ b/dnet-pace-core/src/main/resources/eu/dnetlib/pace/config/translation_map.csv @@ -1,47 +1,47 @@ -1;university;università;universitario;universitaria;université;universitaire;universitaires;universidad;universitade;Universität;Uniwersytet;университет;universiteit;πανεπιστήμιο -2;studies;studi;études;estudios;estudos;Studien;studia;исследования;studies;σπουδές -3;advanced;superiore;supérieur;supérieure;supérieurs;supérieures;avancado;avancados;fortgeschrittene;fortgeschritten;zaawansowany;передовой;gevorderd;gevorderde;προχωρημένος;προχωρημένη;προχωρημένο;προχωρημένες;προχωρημένα -4;institute;istituto;institut;instituto;instituto;Institut;instytut;институт;instituut;ινστιτούτο -5;hospital;ospedale;hôpital;hospital;hospital;Krankenhaus;szpital;больница;ziekenhuis;νοσοκομείο -6;research;ricerca;recherche;investigacion;pesquisa;Forschung;badania;исследования;onderzoek;έρευνα -7;college;collegio;université;colegio;faculdade;Hochschule;Szkoła Wyższa;Высшая школа;universiteit;κολλέγιο -8;foundation;fondazione;fondation;fundación;fundação;Stiftung;Fundacja;фонд;stichting;ίδρυμα -9;center;centro;centre;centro;centro;zentrum;centrum;центр;centrum;κέντρο -10;national;nazionale;national;nationale;nationaux;nationales;nacional;nacional;national;krajowy;национальный;nationaal;nationale;εθνικό -11;association;associazione;association;asociación;associação;Verein;verband;stowarzyszenie;ассоциация;associatie -12;society;societa;société;sociedad;sociedade;gesellschaft;społeczeństwo;общество;maatschappij;κοινωνία -13;international;internazionale;international;internacional;internacional;international;międzynarodowy;Международный;internationaal;internationale;διεθνής;διεθνή;διεθνές -14;community;comunita;communauté;comunidad;comunidade;Gemeinschaft;społeczność;сообщество;gemeenschap;κοινότητα -15;school;scuola;école;escuela;escola;schule;Szkoła;школа;school;σχολείο -16;education;educazione;éducation;educacion;Educação;Bildung;Edukacja;образование;opleiding;εκπαίδευση -17;academy;accademia;académie;academia;academia;Akademie;akademie;академия;academie;ακαδημία -18;public;pubblico;public;publique;publics;publiques;publico;publico;Öffentlichkeit;publiczny;публичный;publiek;publieke;δημόσιος;δημόσια;δημόσιο -19;museum;museo;musée;mueso;museu;museum;muzeum;музей;museum;μουσείο -20;group;gruppo;groupe;grupo;grupo;gruppe;grupa;группа;groep;ομάδα;όμιλος -21;department;dipartimento;département;departamento;departamento;abteilung;departament;отдел;afdeling;τμήμα -22;council;consiglio;conseil;Consejo;conselho;gesellschaft;rada;совет;raad;συμβούλιο -23;library;biblioteca;bibliothèque;biblioteca;biblioteca;Bibliothek;biblioteka;библиотека;bibliotheek;βιβλιοθήκη -24;ministry;ministero;ministère;ministerio;ministério;Ministerium;ministerstwo;министерство;ministerie;υπουργείο -25;services;servizi;services;servicios;Serviços;Dienstleistungen;usługi;услуги;diensten;υπηρεσίες -26;central;centrale;central;centrale;centrales;central;central;zentral;centralny;цетральный;centraal;κεντρικός;κεντρική;κεντρικό;κεντρικά -27;general;generale;général;générale;généraux;générales;general;geral;general;Allgemeines;general;общий;algemeen;algemene;γενικός;γενική;γενικό;γενικά -28;applied;applicati;appliqué;appliquée;appliqués;appliquées;aplicado;aplicada;angewendet;stosowany;прикладной;toegepast;toegepaste;εφαρμοσμένος;εφαρμοσμένη;εφαρμοσμένο;εφαρμοσμένα -29;european;europee;europea;européen;européenne;européens;européennes;europeo;europeu;europäisch;europejski;европейский;Europees;Europese;ευρωπαϊκός;ευρωπαϊκή;ευρωπαϊκό;ευρωπαϊκά -30;agency;agenzia;agence;agencia;agencia;agentur;agencja;агенция;agentschap;πρακτορείο -31;laboratory;laboratorio;laboratoire;laboratorio;laboratorio;labor;laboratorium;лаборатория;laboratorium;εργαστήριο -32;industry;industria;industrie;индустрия;industrie;βιομηχανία -33;industrial;industriale;industriel;industrielle;industriels;industrielles;индустриальный;industrieel;βιομηχανικός;βιομηχανική;βιομηχανικό;βιομηχανικά;βιομηχανικές -34;consortium;consorzio;consortium;консорциум;consortium;κοινοπραξία -35;organization;organizzazione;organisation;organización;organização;organizacja;организация;organisatie;οργανισμός -36;authority;autorità;autorité;авторитет;autoriteit -37;federation;federazione;fédération;федерация;federatie;ομοσπονδία -38;observatory;osservatorio;observatoire;обсерватория;observatorium;αστεροσκοπείο -39;bureau;ufficio;bureau;офис;bureau;γραφείο -40;company;impresa;compagnie;société;компания;bedrijf;εταιρία -41;polytechnic;politecnico;polytechnique;политехника;polytechnisch;πολυτεχνείο -42;coalition;coalizione;coalition;коалиция;coalitie;συνασπισμός -43;initiative;iniziativa;initiative;инициатива;initiatief;πρωτοβουλία -44;academic;accademico;académique;universitaire;акадеческий academisch;ακαδημαϊκός;ακαδημαϊκή;ακαδημαϊκό;ακαδημαϊκές;ακαδημαϊκοί -45;institution;istituzione;institution;институциональный;instelling;ινστιτούτο -46;division;divisione;division;отделение;divisie;τμήμα -47;committee;comitato;comité;комитет;commissie;επιτροπή \ No newline at end of file +key::1;university;università;universitario;universitaria;université;universitaire;universitaires;universidad;universitade;Universität;Uniwersytet;университет;universiteit;πανεπιστήμιο +key::2;studies;studi;études;estudios;estudos;Studien;studia;исследования;studies;σπουδές +key::3;advanced;superiore;supérieur;supérieure;supérieurs;supérieures;avancado;avancados;fortgeschrittene;fortgeschritten;zaawansowany;передовой;gevorderd;gevorderde;προχωρημένος;προχωρημένη;προχωρημένο;προχωρημένες;προχωρημένα +key::4;institute;istituto;institut;instituto;instituto;Institut;instytut;институт;instituut;ινστιτούτο +key::5;hospital;ospedale;hôpital;hospital;hospital;Krankenhaus;szpital;больница;ziekenhuis;νοσοκομείο +key::6;research;ricerca;recherche;investigacion;pesquisa;Forschung;badania;исследования;onderzoek;έρευνα +key::7;college;collegio;université;colegio;faculdade;Hochschule;Szkoła Wyższa;Высшая школа;universiteit;κολλέγιο +key::8;foundation;fondazione;fondation;fundación;fundação;Stiftung;Fundacja;фонд;stichting;ίδρυμα +key::9;center;centro;centre;centro;centro;zentrum;centrum;центр;centrum;κέντρο +key::10;national;nazionale;national;nationale;nationaux;nationales;nacional;nacional;national;krajowy;национальный;nationaal;nationale;εθνικό +key::11;association;associazione;association;asociación;associação;Verein;verband;stowarzyszenie;ассоциация;associatie +key::12;society;societa;société;sociedad;sociedade;gesellschaft;społeczeństwo;общество;maatschappij;κοινωνία +key::13;international;internazionale;international;internacional;internacional;international;międzynarodowy;Международный;internationaal;internationale;διεθνής;διεθνή;διεθνές +key::14;community;comunita;communauté;comunidad;comunidade;Gemeinschaft;społeczność;сообщество;gemeenschap;κοινότητα +key::15;school;scuola;école;escuela;escola;schule;Szkoła;школа;school;σχολείο +key::16;education;educazione;éducation;educacion;Educação;Bildung;Edukacja;образование;opleiding;εκπαίδευση +key::17;academy;accademia;académie;academia;academia;Akademie;akademie;академия;academie;ακαδημία +key::18;public;pubblico;public;publique;publics;publiques;publico;publico;Öffentlichkeit;publiczny;публичный;publiek;publieke;δημόσιος;δημόσια;δημόσιο +key::19;museum;museo;musée;mueso;museu;museum;muzeum;музей;museum;μουσείο +key::20;group;gruppo;groupe;grupo;grupo;gruppe;grupa;группа;groep;ομάδα;όμιλος +key::21;department;dipartimento;département;departamento;departamento;abteilung;departament;отдел;afdeling;τμήμα +key::22;council;consiglio;conseil;Consejo;conselho;gesellschaft;rada;совет;raad;συμβούλιο +key::23;library;biblioteca;bibliothèque;biblioteca;biblioteca;Bibliothek;biblioteka;библиотека;bibliotheek;βιβλιοθήκη +key::24;ministry;ministero;ministère;ministerio;ministério;Ministerium;ministerstwo;министерство;ministerie;υπουργείο +key::25;services;servizi;services;servicios;Serviços;Dienstleistungen;usługi;услуги;diensten;υπηρεσίες +key::26;central;centrale;central;centrale;centrales;central;central;zentral;centralny;цетральный;centraal;κεντρικός;κεντρική;κεντρικό;κεντρικά +key::27;general;generale;général;générale;généraux;générales;general;geral;general;Allgemeines;general;общий;algemeen;algemene;γενικός;γενική;γενικό;γενικά +key::28;applied;applicati;appliqué;appliquée;appliqués;appliquées;aplicado;aplicada;angewendet;stosowany;прикладной;toegepast;toegepaste;εφαρμοσμένος;εφαρμοσμένη;εφαρμοσμένο;εφαρμοσμένα +key::29;european;europee;europea;européen;européenne;européens;européennes;europeo;europeu;europäisch;europejski;европейский;Europees;Europese;ευρωπαϊκός;ευρωπαϊκή;ευρωπαϊκό;ευρωπαϊκά +key::30;agency;agenzia;agence;agencia;agencia;agentur;agencja;агенция;agentschap;πρακτορείο +key::31;laboratory;laboratorio;laboratoire;laboratorio;laboratorio;labor;laboratorium;лаборатория;laboratorium;εργαστήριο +key::32;industry;industria;industrie;индустрия;industrie;βιομηχανία +key::33;industrial;industriale;industriel;industrielle;industriels;industrielles;индустриальный;industrieel;βιομηχανικός;βιομηχανική;βιομηχανικό;βιομηχανικά;βιομηχανικές +key::34;consortium;consorzio;consortium;консорциум;consortium;κοινοπραξία +key::35;organization;organizzazione;organisation;organización;organização;organizacja;организация;organisatie;οργανισμός +key::36;authority;autorità;autorité;авторитет;autoriteit +key::37;federation;federazione;fédération;федерация;federatie;ομοσπονδία +key::38;observatory;osservatorio;observatoire;обсерватория;observatorium;αστεροσκοπείο +key::39;bureau;ufficio;bureau;офис;bureau;γραφείο +key::40;company;impresa;compagnie;société;компания;bedrijf;εταιρία +key::41;polytechnic;politecnico;polytechnique;политехника;polytechnisch;πολυτεχνείο +key::42;coalition;coalizione;coalition;коалиция;coalitie;συνασπισμός +key::43;initiative;iniziativa;initiative;инициатива;initiatief;πρωτοβουλία +key::44;academic;accademico;académique;universitaire;акадеческий academisch;ακαδημαϊκός;ακαδημαϊκή;ακαδημαϊκό;ακαδημαϊκές;ακαδημαϊκοί +key::45;institution;istituzione;institution;институциональный;instelling;ινστιτούτο +key::46;division;divisione;division;отделение;divisie;τμήμα +key::47;committee;comitato;comité;комитет;commissie;επιτροπή \ No newline at end of file