merging basic union class support to trunk
This commit is contained in:
parent
881c937594
commit
14d6dc9b70
1 changed files with 18 additions and 9 deletions
|
@ -24,6 +24,7 @@ import org.joda.time.DateTime;
|
|||
import com.hp.hpl.jena.ontology.OntClass;
|
||||
import com.hp.hpl.jena.ontology.OntModel;
|
||||
import com.hp.hpl.jena.ontology.OntResource;
|
||||
import com.hp.hpl.jena.ontology.UnionClass;
|
||||
import com.hp.hpl.jena.query.Query;
|
||||
import com.hp.hpl.jena.query.QueryExecution;
|
||||
import com.hp.hpl.jena.query.QueryExecutionFactory;
|
||||
|
@ -153,6 +154,13 @@ public class IndividualDaoJena extends JenaBaseDao implements IndividualDao {
|
|||
|
||||
getOntModel().enterCriticalSection(Lock.READ);
|
||||
try {
|
||||
if (theClass.isAnon() && theClass.canAs(UnionClass.class)) {
|
||||
UnionClass u = (UnionClass) theClass.as(UnionClass.class);
|
||||
for (OntClass operand : u.listOperands().toList()) {
|
||||
VClass vc = new VClassJena(operand, getWebappDaoFactory());
|
||||
ents.addAll(getIndividualsByVClass(vc));
|
||||
}
|
||||
} else {
|
||||
StmtIterator stmtIt = getOntModel().listStatements((Resource) null, RDF.type, theClass);
|
||||
try {
|
||||
while (stmtIt.hasNext()) {
|
||||
|
@ -163,6 +171,7 @@ public class IndividualDaoJena extends JenaBaseDao implements IndividualDao {
|
|||
} finally {
|
||||
stmtIt.close();
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
getOntModel().leaveCriticalSection();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue