bibliome / alvisir Goto Github PK
View Code? Open in Web Editor NEWAlvisIR semantic search engine
License: Apache License 2.0
AlvisIR semantic search engine
License: Apache License 2.0
The query * ~interaction *
looks for {interact}*~*
.
Relation names should not be normalized.
https://forgemia.inra.fr/claire.nedellec/alvisir-biotope/-/issues/3
curl -o foo.xml 'http://bibliome.jouy.inra.fr/demo/ontobiotope/alvisir2/webapi/search?q=valve+not+aortic+not+heart'
<query default-field="contents">
<query-string>valve not aortic not heart</query-string>
<original-query>
<and>
<term>valve</term>
<and operator="but">
<term operator="but">aortic</term>
<term operator="but">heart</term>
</and>
</and>
</original-query>
<expanded-query>
<and>
<term>valv</term>
<and operator="but">
<term operator="but">aortic</term>
<or operator="but">
<prefix>{habitat}/obt:000001/obt:000014/obt:000039/obt:000231/obt:002713/</prefix>
<prefix>{habitat}/obt:000001/obt:000014/obt:000039/obt:000364/obt:002713/</prefix>
</or>
</and>
</and>
</expanded-query>
<lucene-query>+((title:valv abstract:valv)~1) -(-((title:aortic abstract:aortic)~1) -((((title:{habitat}/obt:000001/obt:000014/obt:000039/obt:000231/obt:002713/* abstract:{habitat}/obt:000001/obt:000014/obt:000039/obt:000231/obt:002713/*)~1) ((title:{habitat}/obt:000001/obt:000014/obt:000039/obt:000364/obt:002713/* abstract:{habitat}/obt:000001/obt:000014/obt:000039/obt:000364/obt:002713/*)~1))~1))</lucene-query>
</query>
alvis.png
(AlvisIR logo)background.jpg
background-left.jpg
background-right.jpg
Enquête à faire pour avoir une URI lorsque l'on explore les ontologies servant à indexer (permettant de partager cette capacité)
(clic qur le logo "ontologie" + clic sur le nom de l'ontologie)
Merci
Change the use of quotation marks in the new version of AlvisIR :
(contents="food for human")
"prepared food"
has no expansion now , so several choices give an empty resultVia les facettes la requête avec le label avec des mots tels que "and" (e.g: "milk and milk product") ne fonctionnent pas : on arrive sur l'URL
"milk and milk product" http://bibliome.jouy.inra.fr/demo/food/alvisir/webapi/search?q=%22milk+and+milk+product%22
Par contre si on met \and c'est fonctionnel
"milk \and milk product" : http://bibliome.jouy.inra.fr/demo/food/alvisir/webapi/search?q=%22milk+%5Cand+milk+product%22
Query relations regardless of relation type.
Syntax?
term ~* term
Some facet values of Phenotypes part are paths
Example for {taxon}* livesin {habitat}*
Facet's label | Canonical value | Total number of occurrences of the facet | Number of documents containing the facet |
---|---|---|---|
pathogen | {phenotype}/moph:00000520/moph:00000521/moph:00000528/ | 551 | 290 |
{phenotype}/moph:00000520/moph:00001730/ec:0000208/ | {phenotype}/moph:00000520/moph:00001730/ec:0000208/ | 364 | 187 |
{phenotype}/moph:00000520/ec:0000210/ec:0000211/ | {phenotype}/moph:00000520/ec:0000210/ec:0000211/ | 331 | 153 |
{phenotype}/moph:00000520/moph:00001303/moph:00001308/ | {phenotype}/moph:00000520/moph:00001303/moph:00001308/ | 240 | 133 |
{phenotype}/moph:00000520/moph:00001303/moph:00001312/ | {phenotype}/moph:00000520/moph:00001303/moph:00001312/ | 281 | 105 |
{phenotype}/moph:00000520/moph:00001730/ec:0000209/ | {phenotype}/moph:00000520/moph:00001730/ec:0000209/ | 116 | 90 |
{phenotype}/moph:00000520/moph:00001313/moph:00001314/ | {phenotype}/moph:00000520/moph:00001313/moph:00001314/ | 88 | 51 |
{phenotype}/moph:00000520/moph:00001727/moph:00001728/ | {phenotype}/moph:00000520/moph:00001727/moph:00001728/ | 34 | 26 |
parasite | {phenotype}/moph:00000520/moph:00000521/moph:00001733/ | 47 | 24 |
{phenotype}/moph:00000520/moph:00000460/moph:00000448/ | {phenotype}/moph:00000520/moph:00000460/moph:00000448/ | 42 | 22 |
commensal | {phenotype}/moph:00000520/moph:00000521/moph:00000526/ | 11 | 9 |
microbial phenotype | {phenotype}/moph:00000520/ | 9 | 8 |
human pathogen | {phenotype}/moph:00000520/moph:00000521/moph:00000528/moph:00000530/moph:00000513/ | 8 | 7 |
{phenotype}/moph:00000520/moph:00001730/ec:0000207/ | {phenotype}/moph:00000520/moph:00001730/ec:0000207/ | 7 | 7 |
{phenotype}/moph:00000520/moph:00001303/moph:00001306/ | {phenotype}/moph:00000520/moph:00001303/moph:00001306/ | 6 | 5 |
human pathogen | {phenotype}/moph:00000520/moph:00000521/moph:00000524/moph:00000530/moph:00000513/ | 5 | 5 |
endophyte | {phenotype}/moph:00000520/moph:00000521/moph:00000525/moph:00000489/ | 11 | 5 |
{phenotype}/moph:00000520/moph:00001730/ec:0000206/ | {phenotype}/moph:00000520/moph:00001730/ec:0000206/ | 4 | 4 |
{phenotype}/moph:00000520/moph:00000479/moph:00000481/moph:00000482/ | {phenotype}/moph:00000520/moph:00000479/moph:00000481/moph:00000482/ | 6 | 4 |
{phenotype}/moph:00000520/ec:0000210/ec:0000211/ec:0000213/ | {phenotype}/moph:00000520/ec:0000210/ec:0000211/ec:0000213/ | 3 | 3 |
{phenotype}/moph:00000520/moph:00000462/moph:00001256/ | {phenotype}/moph:00000520/moph:00000462/moph:00001256/ | 4 | 3 |
... |
Dans search.xml les chemins :
<alvisir-search
index="/toto/.../index"
expander-index="/toto/.../expander"
>
Dans UIConfig.xml
<alvisir-search filepath="/toto/.../search.xml" />
Avec http://bibliome.jouy.inra.fr/demo/food/alvisir/webapi/search (mais je crois avec d'autres)
Fais plus souvent une page blanche (enfin, fond du site jaune) , qu'une page avec résultats :
Exemple de requête : http://bibliome.jouy.inra.fr/demo/food/alvisir/webapi/search?q=bacteria+cheese&n=50&s=50
Besoin d'actualiser (F5 et CTRL+F5) des dizaines de fois avant d'avoir un résultat soit cohérent, et parfois bugué
Note : j'ai l'impression que c'est plus fréquent encore en navigation privée.
mvn clean package
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project alvisir-core: Fatal error compiling: tools.jar not found: /usr/lib/jvm/java-8-openjdk-amd64/jre/../lib/tools.jar
firmicutes ~LivesIn food
That is the current situation. Pros: quicker implementation. Cons: nubs can't handle it.
firmicutes <Lives In> food
Pros: spaces in relation names. Cons: two chars.
firmicutes LivesIn-> food
firmicutes ->LivesIn food
Pros: arrow. Cons: two chars.
firmicutes :LivesIn food
Pros: one char. Cons: -.
firmicutes relation:LivesIn food
firmicutes rel:LivesIn food
Pros: looks like RDF. Cons: longish.
firmicutes LivesIn food
Pros: extra short. Cons: implementation may take longer.
Expand MW synonyms across term conjunctions, and use quotes to inhibit expansion.
"food for humans"
expands to OBT:000035/food for human
food for humans
expands to OBT:000003/food
OBT:001804/human
, raw search for the term for
"food for humans"
does not expand, raw search for the sequence of terms food, for, and human.
food for humans
expands to OBT:000035/food for human
food for "humans"
expands to OBT:000003/food
, raw search for terms for and human
"food" for "humans"
does not expand, raw search for terms food, for, and human
AlvisIR only display relations between entities within the same section (title and abstract).
The combined XSLT and JS creates a distinct SVG container for each section.
See alvisir.js.
Examples in Omnicrobe SE.
Get the following error when I try to install with mvn clean package
[INFO] --------------< fr.jouy.inra.maiage.bibliome:alvisir-web >--------------
[INFO] Building AlvisIR Web 0.6-SNAPSHOT [3/3]
[INFO] --------------------------------[ war ]---------------------------------
[WARNING] The POM for fr.jouy.inra.maiage.bibliome:alvisir-core:jar:0.5 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for AlvisIR 0.6-SNAPSHOT:
[INFO]
[INFO] AlvisIR ............................................ SUCCESS [ 0.390 s]
[INFO] AlvisIR Core ....................................... SUCCESS [ 3.321 s]
[INFO] AlvisIR Web ........................................ FAILURE [ 0.024 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.868 s
[INFO] Finished at: 2020-04-01T17:37:07+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project alvisir-web: Could not resolve dependencies for project fr.jouy.inra.maiage.bibliome:alvisir-web:war:0.6-SNAPSHOT: Failure to find fr.jouy.inra.maiage.bibliome:alvisir-core:jar:0.5 in http://bibliome.jouy.inra.fr/maven-repository was cached in the local repository, resolution will not be reattempted until the update interval of bibliome has elapsed or updates are forced -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :alvisir-web
Relations are not displayed in the title.
/webapi
/search
the defaultEn Français car déjà difficile à expliquer (alors en anglais)
Problème retrouvé sur microbe et seedev :
Sur Microbe :
Deux relations étaient possibles en ayant comme argument "commensal" pouvant être à la fois "habitat" et "phénotype".
"Bacteria exhibits commensal" ne donnait pas de réponse, alors qu'il y en avait dans le texte (et que l'on pouvait voir en allant chercher plus haut)
Le problème a été "résoulu" par une pirouette sur l'ontologie, et enlevant "commensal" de Habitat.
Sur SeeDev , je vais un peu plus détailler le problème rencontré.
Pour permettre une interrogation "large" de FlagDB, j'ai fabriqué une entité "GeneOrProtein" , permettant d'interroger toutes les relations trouvées entre Gene et/ou Protein par une relation "universelle" ~loc (on passera sur le choix du nom.)
Du coup, dans mes textes, je tague des entités comme [Protein] , que je retaggue par dessus par [GeneOrProtein]
Le problème réside dans l'interrogation de ces relations là :
Quand je fais par exemple :
AT2G32950 interact AT3G20770
Je retrouve bien le lien entre les deux.
AT2G32950 ~loc AT3G20770 , j'ai une erreur no result
Mais, quand je cherche les relations "~loc" qui existent , en faisant des restrictions dessus, j'arrive à trouver cette relation là : {geneandprotein}* ~loc {geneandprotein}* AT3G20770 AT2G32950 , voir le deuxième hit, et la relation surlignée en violet
L'hypothèse c'est qu'il y a un choix qui est fait à un moment donné sur les entités qui peuvent être annotés par plusieurs types d'entités lors de la requête, et que ce choix impacte donc sur les résultats proposés.
En résumé : sur microbio :
la requête ""Bacteria exhibits commensal" ne pouvait aboutir, car l'entité "commensal" pouvait être taggé par "Habitat" et "Phénotype", et était tagguée/choisie comme "habitat", et que la relation "Exhibits" n'accepte que des Phénotypes de l'autre côté.
De la même façon, ici pour SeeDev :
Les deux protéines sont taggées par [Protein] et [GeneOrPortein] , et il est choisi [Protein] arbitrairement, ce qui fait qu'un requête de type ~loc ne peut aboutir car les arguments de part et d'autre ne sont pas [GeneOrPortein].
Je ne sais pas si ce choix est fait sur la requête, ou sur le texte "doublement annoté"
Là où cela pose plus problème c'est que j'étais en train de "découper" les relations génériques "Interact" en plusieurs types de relations (Binds, Regulation...)
J'espère que c'est par trop brouillon comme présentation du problème.
Deuxième hit: borne bizarre de "Clostridium perfringens" => "Clostridium perfringens is a pathogen that"
-> Non présent dnas l'annotation du corpus
-> en requête plus stricte, ce bug sur la borne du taxon n'apparaît pas : http://bibliome.jouy.inra.fr/demo/food/alvisir/webapi/search?q=%28clostridium+perfringens%29+%28pea+soup%29
Problème sur le stemming du second terme (et plus?)
If a concept has several paths, then the explanation on the left displays one box for each path.
http://bibliome.jouy.inra.fr/demo/food/alvisir/webapi/search?q=%22frozen+shrimp%22
Two solutions:
Change base package name to fr.inra.maiage.bibliome.alvisir
.
Branch package-rename
: fef432d
Term1 RELATIONSHIP Term2 appears difficult to query :
Two more examples :
@rbossy c'est un détail :
l'installation dans le dossier courant cloné (alvisir) produit une erreur.
./install.sh .
Je ne sais pas s'il y a une raison mais ce serait bien si on peut faire l'installation dans le dossier cloné, ce qui nous évitera de créer un nouveau dossier.
Je peux corriger le script d'installation si tu est d'accord
Line 9 in c2cd6c2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.