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.Model;
|
||||||
import com.hp.hpl.jena.rdf.model.Property;
|
import com.hp.hpl.jena.rdf.model.Property;
|
||||||
import com.hp.hpl.jena.rdf.model.RDFNode;
|
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.Resource;
|
||||||
import com.hp.hpl.jena.rdf.model.ResourceFactory;
|
import com.hp.hpl.jena.rdf.model.ResourceFactory;
|
||||||
import com.hp.hpl.jena.rdf.model.Statement;
|
import com.hp.hpl.jena.rdf.model.Statement;
|
||||||
|
@ -488,37 +489,35 @@ public class VClassDaoJena extends JenaBaseDao implements VClassDao {
|
||||||
*/
|
*/
|
||||||
private Iterator<OntClass> smarterListHierarchyRootClasses(OntModel ontModel, String ontologyURI) {
|
private Iterator<OntClass> smarterListHierarchyRootClasses(OntModel ontModel, String ontologyURI) {
|
||||||
List<OntClass> rootClassList = new ArrayList<OntClass>();
|
List<OntClass> rootClassList = new ArrayList<OntClass>();
|
||||||
ClosableIterator<Individual> ci = ontModel.listIndividuals(OWL.Class);
|
ResIterator ci = ontModel.listResourcesWithProperty(RDF.type, OWL.Class);
|
||||||
try {
|
try {
|
||||||
for (ClosableIterator<Individual> i = ci ; i.hasNext(); ) {
|
for (ResIterator i = ci ; i.hasNext(); ) {
|
||||||
try {
|
try {
|
||||||
Individual classInd = i.next();
|
Resource ontClass = i.nextResource();
|
||||||
// if (!classInd.canAs(OntClass.class)) {
|
|
||||||
// continue;
|
|
||||||
// }
|
|
||||||
OntClass ontClass = (OntClass) classInd.as(OntClass.class);
|
|
||||||
boolean isRoot = true;
|
boolean isRoot = true;
|
||||||
for (Iterator<RDFNode> j = ontClass.listPropertyValues(RDFS.subClassOf); j.hasNext(); ) {
|
for (StmtIterator j = ontClass.listProperties(RDFS.subClassOf); j.hasNext(); ) {
|
||||||
Resource res = (Resource) j.next();
|
Statement stmt = j.nextStatement();
|
||||||
if (res.canAs(OntClass.class)) {
|
if (!stmt.getObject().isResource()) {
|
||||||
OntClass superClass = (OntClass) res.as(OntClass.class);
|
continue;
|
||||||
if (!superClass.isAnon() &&
|
}
|
||||||
((ontologyURI==null) || (ontologyURI.equals(superClass.getNameSpace()))) &&
|
Resource superClass = (Resource) stmt.getObject();
|
||||||
!OWL.Thing.equals(superClass) &&
|
if (!superClass.isAnon() &&
|
||||||
!superClass.equals(ontClass) &&
|
((ontologyURI==null) || (ontologyURI.equals(superClass.getNameSpace()))) &&
|
||||||
!( ontModel.contains(ontClass,OWL.equivalentClass,superClass) ||
|
!OWL.Thing.equals(superClass) &&
|
||||||
ontModel.contains(superClass,OWL.equivalentClass,ontClass) ) ) {
|
!superClass.equals(ontClass) &&
|
||||||
if ( (superClass.getNameSpace() != null)
|
!( ontModel.contains(ontClass,OWL.equivalentClass,superClass) ||
|
||||||
&& (!(NONUSER_NAMESPACES.contains(
|
ontModel.contains(superClass,OWL.equivalentClass,ontClass) ) ) {
|
||||||
superClass.getNameSpace()))) ) {
|
if ( (superClass.getNameSpace() != null)
|
||||||
isRoot=false;
|
&& (!(NONUSER_NAMESPACES.contains(
|
||||||
break;
|
superClass.getNameSpace()))) ) {
|
||||||
}
|
isRoot=false;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (isRoot) {
|
if (isRoot && ontClass.canAs(OntClass.class)) {
|
||||||
rootClassList.add(ontClass);
|
rootClassList.add(ontClass.as(OntClass.class));
|
||||||
}
|
}
|
||||||
} catch (ClassCastException cce) {
|
} catch (ClassCastException cce) {
|
||||||
log.error(cce, cce);
|
log.error(cce, cce);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue