Grupo de Facebook DBpedia en español
Notify Twitter

Estas son las notas originales de la instalación en Ubuntu 10. Hay una traducción al inglés para DBpedia aquí (ver las instrucciones generales (e imprecisas) en la página del framework de Extracción de DBpedia).

1)Instalación de IntelliJ IDEA#

Estoy usando la versión 11 de IntelliJ. Hay una versión gratuita (community edition) para Windows y linux.

Descargas un archivo tar.gz que deberás mover donde vaya a instalar el software. Una ver en el directorio de instalación, 'deszipea' (gzip -d) y 'destarea' (tar -xvf). En el directorio bin ejecuta idea.sh.

En Ubuntu hay que instalar el JDK de Sun (no vale el OpenJDK que viene por defecto). Usa tu gestor de paquetes y busca sun-java6-jdk. Si no lo encuentras, añade más fuentes de paquetes a tu gestor de paquetes. Por ejemplo, si usas el gestor gráfico de Ubuntu (Ubuntu package Manager), pulsa Edit-->Software Sources... luego pulsa la pestaña "Otro software" y marca la fuente como muestra la figura (pulsa el icono ). Al final deberás encontrar el paquete (pulsa el icono ).

2) Configuración de IntelliJ IDEA#

Esta versión de IntelliJ trae preinstalado el gestor Mercurial (Version Control --> checkout from version Control --> Mercurial). En la ventana que sale hay que poner:

Mercurial repository URL: http://dbpedia.hg.sourceforge.net:8000/hgroot/dbpedia/extraction_framework 
Parent Directory (dónde guardaré los fuentes obtenidos): 
Directory name: extraction_framework 

2.5) Modifica los fuentes#

Para que las URIs de los recursos tengan la forma http://es.dbpedia.org/resource/loquesea en lugar de http://dbpedia.org/resource/loquesea. Edita el fichero:
extraction_framework/core/src/main/scala
org.dbpedia.extraction.ontology.OntologyNamespaces.scala

Y añade "es" a estas dos líneas:

val specificLanguageDomain = Set("es", "el", "it", "ru")
val encodeAsIRI = Set("es", "el", "ru")

3) Compilación#

Abre la pestaña, en la parte derecha de IntelliJ, llamada "Maven Proyects". Pulsa el botón de reciclado ("Reimport all maven proyects"). Se lanza la compilación de las fuentes. Despliega "Parent POM of the DBpedia framework"-->LifeCycle y secciona (ejecuta) los comandos clean y install. Tarda un buen rato en compilar todo el proyecto. Si no está instalado maven2, lo indicará, y habrá que instalarlo. Usa el gestor de paquetes de Ubuntu para instalar maven2. Una vez compilado todo, en la misma ventana de maven selecciona "DBpedia dump extraction"-->Plugins-->scala-->scala:run

4) Configuración del proceso de extracción#

En IntelliJ se ven ya los ficheros del proyecto. Busca el fichero dump/src/config.properties.default. Copialo y renómbralo como config.properties. Edítalo para que tenga este aspecto:
dumpDir=/home/mrico/DBpedia/WikipediaDumps
outputDir=/home/mrico/DBpedia/ExtractionResult
updateDumps=false

extractors=org.dbpedia.extraction.mappings.LabelExtractor
#           org.dbpedia.extraction.mappings.WikiPageExtractor \
#           org.dbpedia.extraction.mappings.InfoboxExtractor \
#           org.dbpedia.extraction.mappings.PageLinksExtractor \
#           org.dbpedia.extraction.mappings.GeoExtractor
#
#extractors.en=org.dbpedia.extraction.mappings.CategoryLabelExtractor \
#              org.dbpedia.extraction.mappings.ArticleCategoriesExtractor \
#              org.dbpedia.extraction.mappings.ImageExtractor \
#              org.dbpedia.extraction.mappings.ExternalLinksExtractor \
#              org.dbpedia.extraction.mappings.HomepageExtractor \
#              org.dbpedia.extraction.mappings.DisambiguationExtractor \
#              org.dbpedia.extraction.mappings.PersondataExtractor \
#              org.dbpedia.extraction.mappings.PndExtractor \
#              org.dbpedia.extraction.mappings.SkosCategoriesExtractor \
#              org.dbpedia.extraction.mappings.RedirectExtractor \
#              org.dbpedia.extraction.mappings.MappingExtractor \
#              org.dbpedia.extraction.mappings.PageIdExtractor \
#              org.dbpedia.extraction.mappings.RevisionIdExtractor
#
#extractors.de=org.dbpedia.extraction.mappings.HomepageExtractor \
#              org.dbpedia.extraction.mappings.PersondataExtractor \
#              org.dbpedia.extraction.mappings.PndExtractor \
#
#extractors.fr=org.dbpedia.extraction.mappings.HomepageExtractor
#

extractors.es=org.dbpedia.extraction.mappings.MappingExtractor
languages=es

El directorio indicado por dumpDir debe tener el directorio es/aaaammdd Ahí se guardará el dump de wikipedia en español de la fecha aaaammdd llamado pages-articles.xml (ojo, la versión zipeada son 1.4GB ) que se saca de http://dumps.wikimedia.org/eswiki/20110712/ (la fecha es un ejemplo)


Se generan los siguientes ficheros:

instance_types_es. {nt|nq}
labels_es. {nt|nq}   (no quites la linea de extractors=org.dbpedia.extraction.mappings.LabelExtractor o no se generará nada de nada)

mappingbased_properties_es. {nt|nq}
specific_mappingbased_properties_es. {nt|nq}

Si cambiamos el properties para que genere más datos, por ejemplo, desambiguaciones, de forma que quede así:

extractors.es=org.dbpedia.extraction.mappings.DisambiguationExtractor
#  \
#  org.dbpedia.extraction.mappings.MappingExtractor

languages=es

Y lanzamos el extractor, obtenemos en el directorio de extracciones el fichero desambiguations_es.{nt.nq}, pero, además se genera labels_es.{nt/nq}(sobreescribiendo al anterior).

Si vamos usando uno tras otro los extractores vamos generando los logs, donde podemos ver los errores que se produjeron durante la extracción. En particular podemos ver cuántas páginas de la wikipedia fallaron y no pudieron ser extraidas.

El extracctor de ImageExtractor requiere haber descargado datos. Dump directory not found: /home/mrico/DBpedia/WikipediaDumps/commons

El extractor de Persondata falla sin estar claro el motivo

He probado todos los extractores descritos en .properties en la sección extractors.en= y solo fallan los dos descritos.

También he probado los de extractors= (ninguno de los cuales está en extractors.en). Es notable el InfoboxExtractor: genera tres ficheros {nt|nq} llamados

inforbox_properties_es
infobox_test_es
infobox_property_definitions_es