要列出OntClass的所有实例,您可以使用一个恰当命名的实例OntClass.listInstances
.它在javadoc中有清楚的描述.一般来说,我建议如果您使用的是API,那么浏览您正在使用的类或接口的javadoc是一个好习惯.你不需要记住它的每一点,但你会知道什么是可用的,并知道在你需要的时候在哪里看.
import com.hp.hpl.jena.ontology.OntClass;
import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntModelSpec;
import com.hp.hpl.jena.ontology.OntResource;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.util.iterator.ExtendedIterator;
public class ListInstancesExample {
public static void main(String[] args) {
// Load the wine ontology.
final OntModel model = ModelFactory.createOntologyModel( OntModelSpec.OWL_DL_MEM );
model.read( "http://www.w3.org/TR/owl-guide/wine.rdf" );
// Get the Merlot class.
final OntClass merlot = model.getOntClass( "http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#Merlot" );
// Print each of its instances.
for ( final ExtendedIterator<? extends OntResource> merlots = merlot.listInstances(); merlots.hasNext(); ) {
System.out.println( merlots.next() );
}
}
}
Run Code Online (Sandbox Code Playgroud)
http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#LongridgeMerlot
http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#GaryFarrellMerlot
Run Code Online (Sandbox Code Playgroud)