Openrefine-pyjar permet d'installer et d'utiliser des librairies java et python dans OpenRefine.
Pour fonctionner OpenRefine-pyjar requiert :
git clone https://github.com/eonm-abes/openrefine-pyjar # récupération du code source depuis Github
cd openrefine-pyjar # on entre dans le dossier openrefine-pyjar
docker-compose up --build # création et lancement du contenur docker
Java
-
commons-text (string similarity/diff algorithm) :
- CosineDistance
- CosineSimilarity
- EditDistanceFrom
- FuzzyScore
- HammingDistance
- IntersectionResult
- IntersectionSimilarity
- JaccardDistance
- JaccardSimilarity
- JaroWinklerDistance
- JaroWinklerSimilarity
- LevenshteinDetailedDistance
- LevenshteinDistance
- LevenshteinResults
- LongestCommonSubsequence
- LongestCommonSubsequenceDistance
- SimilarityScoreFrom
Python
Les libraries python doivent être ajoutées au fichier requirements.txt. Les libraries java doivent être ajoutées dans le fichier Dockerfile en utilisant la dirrective ADD
.
ADD https://repo1.maven.org/maven2/org/apache/commons/commons-text/1.8/commons-text-1.8.jar ./webapp/WEB-INF/lib/
Utilisation des librairies java dans OpenRefine
Un guide complet sur l'utilisation des librairies java dans OpenRefine est disponible sur le wiki d'OpenRefine.
# language python/jython
from org.apache.commons.text.similarity import JaroWinklerDistance
jaro = JaroWinklerDistance()
return jaro.apply(value, "foo bar")
Utilisation des librairies python dans OpenRefine
Un guide complet sur l'utilisation des librairies python dans OpenRefine est disponible sur le wiki d'OpenRefine.
# language python/jython
import sys
sys.path.append("/app/jython/Lib/site-packages")
from unidecode import unidecode
return unidecode(value)