Closed juanbm99 closed 3 years ago
No están disponibles en GitHub los RML, así que no puedo analizarlo. Indica con links a los ficheros qué CSVs son y qué ficheros RML son, de tal manera que @ArenasGuerreroJulian pueda revisar este proceso de transformación y @dachafra pueda analizar si es un buen ejemplo para mostrar las ventajas de Morph-KGC
@juanbm99 Además de como dice Oscar de que des acceso a los mappings, ¿qué herramienta estás usando para generar el RDF?. Fragmentar los CSVs no me parece buena idea si los mappings tienen joins, en todo caso fragmentaría los mappings o los normalizaría (hacer que cada triples map tengan un solo predicate object map).
RML RuidoDiario 2020 (faltan propiedades aún): https://github.com/juanbm99/TFG-OpenCityData-JuanBernal/blob/main/data/mappings/ruido2020-RML.rml
CSV RuidoDiario2020: https://github.com/juanbm99/TFG-OpenCityData-JuanBernal/blob/main/data/preprocessed/RuidoDiario2020/RuidoDiario2020_v2.csv
Para generar el rdf estoy utilizando el rmlmapper.jar
rmlmapper es extremadamente lento, probablemente es la herramienta. Soluciones que yo probaría por orden:
@juanbm99 veo que en el mapping hay un self-join, podrías probar a eliminar la condición (esta linea y el child/parent) y sólo dejar el parentTriplesMap? El resultado en el SDM-RDFizer debería ser el mismo que con la condición. Quizá así mejores el performance....
He probado con SDM-RDFizer y termina (aunque es cierto que para el dataset de RuidoDiario2020 (47k filas) tarda unos 20 min. Voy a probar ahora con lo que me has dicho @dachafra
Eliminando esa línea el mapping es inmediato pero es verdad que no me lo hace correctamente ya que donde debería poner la URI de la estación de medida simplemente pone el nombre la columna del CSV. @dachafra alguna idea de por qué puede ser esto?
Curioso, me da que es un error del engine, hay que abrir un issue (en inglés) aquí con ese error: https://github.com/SDM-TIB/SDM-RDFizer/issues sube los datos y los mappings, además de que te está metiendo la URI base en la generación de los subjects...
He probado a en vez de poner rml:reference a poner rr:template "{URI_ESTACION}" y así lo hace bien, aunque sigue metiendo la uri base de por medio, ábrele un issue, yo lo gestiono.
Por cierto, cuidado con abrir los CSVs con notepad o similares, te ha metido BOM Chars que debes limpiar: https://stackoverflow.com/questions/45240387/how-can-i-remove-the-bom-from-a-utf-8-file
Issue abierta, en qué CSV dices que me ha metido BOM Chars? La codificación del CSV me dice que está en UTF-8 sin BOM y no encuentro ninguno por ninguna parte
Al ejecutar el mapping RML sobre el csv de ruidoDiario2020 (~46000 filas) y sobre el csv de ruidoDiario2021(~6500 filas) el mapping no termina de ejcutarse (he llegado a esperar unos 20 min) cuando generalmente esto tarda unos pocos segundos. He pensado en fragmentar el CSV en varios y aplicar el mapping sobre estos fragmentos,
que os parece?