我有使用Protege创建的本体文件..想要检索类和属性

时间:2012-01-19 10:07:42

标签: semantics jena ontology protege

我有使用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());

   }

1 个答案:

答案 0 :(得分:2)

要列出OntModel中的类,请使用listClasses方法。从该方法返回的每个结果都将是Java类OntClass的一个实例,它可以从定义类的底层模型中方便地访问三元组。

当您说需要检索“classes 及其属性”时,您可能意味着两件事:表示类的RDF资源的RDF属性,或者通常与之一起使用的属性班级的实例。在第一种情况下,您可以通过OntClass上的API(及其Java超类,例如Resource)获取这些内容。在第二种情况下,您需要read this how-to