我有使用Protege创建的本体文件..对于我的java应用程序,我需要检索类及其属性..我尝试了以下代码,但它只检索了tripples ..我是Jena Api和Ontology的新手,所以请帮忙
String URI = "http://www.semanticweb.org/ontologies/2012/0/SBIRS.owl";
String inputFileName = "D:\\SBIRS.owl";
System.out.println("File Name" + inputFileName);
OntModel model = ModelFactory.createOntologyModel();
StmtIterator si=model.listStatements();
ResIterator iter=model.listSubjects();
while(iter.hasNext())
{
Resource res=iter.nextResource();
System.out.println("Property==>" + res.getProperty(null).toString());
System.out.println("Resource URI==>" + res.getURI());
}
答案 0 :(得分:2)
要列出OntModel
中的类,请使用listClasses
方法。从该方法返回的每个结果都将是Java类OntClass
的一个实例,它可以从定义类的底层模型中方便地访问三元组。
当您说需要检索“classes 及其属性”时,您可能意味着两件事:表示类的RDF资源的RDF属性,或者通常与之一起使用的属性班级的实例。在第一种情况下,您可以通过OntClass
上的API(及其Java超类,例如Resource
)获取这些内容。在第二种情况下,您需要read this how-to。