I am trying to run the LUBM benchmark but I am having some troubles with classification after reasoning.
The files I am using are:
The output of the LUBM generator 1.7
The problem is that members of GraduateStudent
and UndergraduateStudent
are not being classified as members of the super-class Student
.
I tried Pellet, Hermit and Fact reasoners on Protege 5.0 and all have failed. Consequently, also the benchmark SPARQL query number 10 failed.
#-- Query10
#-- This query differs from Query 6, 7, 8 and 9 in that it only requires the
#-- (implicit) subClassOf relationship between GraduateStudent and Student, i.e.,
#-- subClassOf rela-tionship between UndergraduateStudent and Student does not add
#-- to the results.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ub: <http://www.lehigh.edu/~zhp2/2004/0401/univ-bench.owl#>
SELECT ?X WHERE {
?X rdf:type ub:Student .
?X ub:takesCourse <http://www.Department0.University0.edu/GraduateCourse0>
}
You can find a screenshot of my Protegé classification here (sorry I have not enough reputation to directly post the picture).
On Protege 4.3 classification works with Pellet and Hermit, but the SPARQL query still fails.
I already modified the reasoner settings to show all inferred knowledge, so it is not because they are just hidden.
I find this behavior very confusing, especially considering this should be a proven benchmark. I guess there is a very trivial solution to it but I cannot find it, so any help would be much appreciated!
EDIT: I succeeded to run the benchmark. I manually copied the xml code of the ABox (the one I got from the generator) inside the TBox. In this way classification works on Protege 4 and through API. Also SPARQL queries work using snap SPARQL as suggested here. Classification is still NOT working on Protege 5. I am curious to know what was causing this.