NIHVIVO-3712 removed OntClass conversions from smarterListHierarchyRootClasses
This commit is contained in:
parent
909c2adeee
commit
e0b8d9fa08
1 changed files with 24 additions and 25 deletions
|
@ -40,6 +40,7 @@ import com.hp.hpl.jena.rdf.model.Literal;
|
|||
import com.hp.hpl.jena.rdf.model.Model;
|
||||
import com.hp.hpl.jena.rdf.model.Property;
|
||||
import com.hp.hpl.jena.rdf.model.RDFNode;
|
||||
import com.hp.hpl.jena.rdf.model.ResIterator;
|
||||
import com.hp.hpl.jena.rdf.model.Resource;
|
||||
import com.hp.hpl.jena.rdf.model.ResourceFactory;
|
||||
import com.hp.hpl.jena.rdf.model.Statement;
|
||||
|
@ -488,20 +489,18 @@ public class VClassDaoJena extends JenaBaseDao implements VClassDao {
|
|||
*/
|
||||
private Iterator<OntClass> smarterListHierarchyRootClasses(OntModel ontModel, String ontologyURI) {
|
||||
List<OntClass> rootClassList = new ArrayList<OntClass>();
|
||||
ClosableIterator<Individual> ci = ontModel.listIndividuals(OWL.Class);
|
||||
ResIterator ci = ontModel.listResourcesWithProperty(RDF.type, OWL.Class);
|
||||
try {
|
||||
for (ClosableIterator<Individual> i = ci ; i.hasNext(); ) {
|
||||
for (ResIterator i = ci ; i.hasNext(); ) {
|
||||
try {
|
||||
Individual classInd = i.next();
|
||||
// if (!classInd.canAs(OntClass.class)) {
|
||||
// continue;
|
||||
// }
|
||||
OntClass ontClass = (OntClass) classInd.as(OntClass.class);
|
||||
Resource ontClass = i.nextResource();
|
||||
boolean isRoot = true;
|
||||
for (Iterator<RDFNode> j = ontClass.listPropertyValues(RDFS.subClassOf); j.hasNext(); ) {
|
||||
Resource res = (Resource) j.next();
|
||||
if (res.canAs(OntClass.class)) {
|
||||
OntClass superClass = (OntClass) res.as(OntClass.class);
|
||||
for (StmtIterator j = ontClass.listProperties(RDFS.subClassOf); j.hasNext(); ) {
|
||||
Statement stmt = j.nextStatement();
|
||||
if (!stmt.getObject().isResource()) {
|
||||
continue;
|
||||
}
|
||||
Resource superClass = (Resource) stmt.getObject();
|
||||
if (!superClass.isAnon() &&
|
||||
((ontologyURI==null) || (ontologyURI.equals(superClass.getNameSpace()))) &&
|
||||
!OWL.Thing.equals(superClass) &&
|
||||
|
@ -515,10 +514,10 @@ public class VClassDaoJena extends JenaBaseDao implements VClassDao {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (isRoot) {
|
||||
rootClassList.add(ontClass);
|
||||
if (isRoot && ontClass.canAs(OntClass.class)) {
|
||||
rootClassList.add(ontClass.as(OntClass.class));
|
||||
}
|
||||
} catch (ClassCastException cce) {
|
||||
log.error(cce, cce);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue