Luzzu / Framework

Luzzu Quality Assessment Framework
GNU General Public License v3.0
10 stars 7 forks source link

Quality assessment not working after installation #5

Closed Lars-H closed 5 years ago

Lars-H commented 5 years ago

Hi, I am struggling to get the Luzzu Tool running locally on my machine. I have first tried installing it via the scripts provided on the Homepage without any success. The scripts do not seem to be up to date as there are links to old github repos. Also, the zip files provided there seem to be broken as I can't extract them. Next, I installed it via the steps provided in this repository. However, when I am trying to assess the quality of a file, I get the following error:

[Error - Assessment Request Failed Exception] 2019-04-12 16:02:59: java.lang.ClassCastException: de.unibonn.iai.eis.diachron.ebi.OBOFoundry cannot be cast to io.github.luzzu.assessment.QualityMetric

and

[Error - Request Scheduler Exception] 2019-04-12 16:03:01: java.lang.ClassCastException: de.unibonn.iai.eis.diachron.ebi.OBOFoundry cannot be cast to io.github.luzzu.assessment.QualityMetric

As I am not an expert in Java, I am stuck now with these errors. I would be grateful for any help getting Luzzu running!

Thanks in advance, Lars

jerdeb commented 5 years ago

Hi @Lars-H

The scripts and metrics provided in the homepage are outdated. I need to update those, apologies for that. However, you can build Luzzu using the README.md file (https://github.com/Luzzu/Framework/blob/master/README.md). There are also links to the latest quality metrics. None of the old metrics on the homepage will work and the framework was restructured for this version. I'll leave this thread open until you manage to install it. If you don't manage let me know and I'll create a script for you.

Lars-H commented 5 years ago

Hi @jerdeb

thank you for the quick response. I have followed the instructions in the README.md and I get the two error messages listed above when I am trying to assess a Turtle file using the API. (The errors are taken from the stdout when running the ./start.sh) I use the following bash script to do so:

fileName="<myFileDir.ttl>"
curl --data "Is-Sparql-Endpoint=false&Dataset-PLD=http://dbpedia.org&Dataset-Location=$fileName&Quality-Report-Required=true&Metrics-Configuration={\"@id\":\"_:f4216607408b1\",\"@type\":[\"http://purl.org/eis/vocab/lmi#MetricConfiguration\"],\"http://purl.org/eis/vocab/lmi#metric\":[{\"@value\":\"de.unibonn.iai.eis.diachron.ebi.DefinedOntologyAuthor\"},{\"@value\":\"de.unibonn.iai.eis.diachron.ebi.OBOFoundry\"},{\"@value\":\"de.unibonn.iai.eis.diachron.ebi.ObsoleteConceptsInOntology\"},{\"@value\":\"de.unibonn.iai.eis.diachron.ebi.POBODefinitionUsage\"},{\"@value\":\"de.unibonn.iai.eis.diachron.ebi.SynonymUsage\"},{\"@value\":\"de.unibonn.iai.eis.diachron.ebi.OntologyVersioningConciseness\"}]}" http://localhost:8080/Luzzu/v4/assessment/compute ;

It would be really great if there was an updated installation script (or even a Dockerize version).

Thanks and best regards, Lars

jerdeb commented 5 years ago

The metrics you are using were not ported to the new version as they were specific to a previous project. Right now I am only supporting generic quality metrics. You can find such metrics in the README file (https://github.com/Luzzu/Framework#preparing-to-use-luzzu-for-the-first-time). I don't have the full list of metrics handy, but for each package there is the metrics.trig where you can find the metrics name. You can find an example here: https://github.com/Luzzu/Framework/wiki/Restful-APIs#assessment-apis

Re docker - yes it is in the pipeline but its going slow as most of the work on luzzu is done in my free time

Lars-H commented 5 years ago

Ok, good to know, that only these metrics are currently available. I have updated my requests with just one metric "MisplacedClassesOrProperties" (which is also used in the API example) listed in the metrics.trigfile:

fileName="<myFileDir.ttl>"
curl --data "Is-Sparql-Endpoint=false&Dataset-PLD=http://dbpedia.org&Dataset-Location=$fileName&Quality-Report-Required=true&Metrics-Configuration={  \"@context\": {    \"lmi\": \"http:\/\/purl.org\/eis\/vocab\/lmi#\",    \"rdf\": \"http:\/\/www.w3.org\/1999\/02\/22-rdf-syntax-ns#\",    \"rdfs\": \"http:\/\/www.w3.org\/2000\/01\/rdf-schema#\",    \"xsd\": \"http:\/\/www.w3.org\/2001\/XMLSchema#\" },    \"@id\": \"_:ub104bL6C1\",    \"@type\": \"lmi:MetricConfiguration\",    \"lmi:metric\": [  \"io.github.luzzu.linkeddata.qualitymetrics.intrinsic.consistency.MisplacedClassesOrProperties\"]}" http://localhost:8080/Luzzu/v4/assessment/compute ;

However, when running the assessment, I get the following Error:

[Error - Assessment Request Failed Exception] 2019-04-15 11:54:01: java.lang.NoClassDefFoundError: Could not initialize class io.github.luzzu.semantics.configuration.InternalModelConf

Any help is very much appreciated!

jerdeb commented 5 years ago

It seems like something is wrong with the installation, most probably maven did not build correctly. Let me check and come back to you

jerdeb commented 5 years ago

Hi @Lars-H, I have tried replicating your error on a number of virtual environments but couldn't. My feeling is that the build is corrupted. Can you please try rebuilding again? (mvn clean install)

Lars-H commented 5 years ago

Ok, thanks a lot! I will try to re-build everything and will see how it goes.

Lars-H commented 5 years ago

Hi, so I have removed everything Luzzu related. Uninstalled maven and purged the repositories. I re-installed maven, cloned the Framework repository and again followed the installation instructions. When running the same request as above, I still get the previously mentioned error. Also, when re-attempting the assessment, I also sometimes get the following error:

[Error - Assessment Request Failed Exception] 2019-04-15 16:03:08: java.lang.ExceptionInInitializerError
jerdeb commented 5 years ago

Ok. No idea what's happening :) What is the OS you are using? Also, can you please attach the log file? It is usually in your temp folder /tmp/luzzu/debug.log

Lars-H commented 5 years ago

I am running it on a Debian Stretch (9.8) with javac 1.8.0_201. This is my log: debug.log

jerdeb commented 5 years ago

Can you remove dqm.zip from externals/vocabs and try again please?

Lars-H commented 5 years ago

Ok, this worked now! The quality computation request is completed. Thanks!

jerdeb commented 5 years ago

Perfect! I'll reopen this issue so that I fix this bug :)

jerdeb commented 5 years ago

The issue wrt crashing due to file formats is now fixed.

@Lars-H, I have also created a docker image as well: https://hub.docker.com/r/luzzu/luzzu-framework feel free to test it and open other issues. I have created a repository for it as well (https://github.com/Luzzu/luzzu-docker)