当前位置: 首页 > 知识库问答 >
问题:

通过OWL API访问本体

翁烨霖
2023-03-14

我想通过使用Eclipse的OWL API访问我的本体和SWRL规则。有没有人能帮我做一个确切的程序来告诉我该怎么做?

我尝试了以下代码,但似乎没有得到任何响应。请记住,我的Java技能很差。

我需要一个确切的程序来解决这个问题。

我已经有的代码是:

public static void main(String[] args) {
  File file = new File("file:c:/Users/DTN/Desktop/Final SubmissionFilteringMechanism_Ontology.owl");
  OWLOntologyManager m = OWLManager.createOWLOntologyManager();
  OWLDataFactory f = OWLManager.getOWLDataFactory();
  OWLOntology o = null;

  public void testAddAxioms() {
    try {
        o = m.loadOntologyFromOntologyDocument(Ont_Base_IRI);
        OWLClass clsA = f.getOWLClass(IRI.create(Ont_Base_IRI + "ClassA"));
        OWLClass clsB = f.getOWLClass(IRI.create(Ont_Base_IRI + "ClassB"));
        OWLAxiom ax1 = f.getOWLSubClassOfAxiom(clsA, clsB);
        AddAxiom addAxiom1 = new AddAxiom(o, ax1);
        m.applyChange(addAxiom1);

        for (OWLClass cls : o.getClassesInSignature()) {
            EditText edit = (EditText) findViewById(R.id.editText1);
            edit.setText((CharSequence) cls);
        }

        m.removeOntology(o);
    } catch (Exception e) {
        EditText edit = (EditText) findViewById(R.id.editText1);
        edit.setText("Not successfull");
    }
  }
}

共有1个答案

能逸清
2023-03-14

这里提供了装载和修改本体的OWLAPI示例,您将看到一个一般性的介绍和一组特定的示例。如果您需要某些特定代码段的帮助,您可以发布到OWLAPI邮件列表。

编译以下内容的代码的版本:

import java.io.File;

import org.semanticweb.owlapi.apibinding.OWLManager;
import org.semanticweb.owlapi.model.AddAxiom;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLAxiom;
import org.semanticweb.owlapi.model.OWLClass;
import org.semanticweb.owlapi.model.OWLDataFactory;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
import org.semanticweb.owlapi.model.OWLOntologyManager;

public class Snippet {

    public static void main(String[] args) throws OWLOntologyCreationException {
        File file = new File(
                "file:///c/Users/DTN/Desktop/Final SubmissionFilteringMechanism_Ontology.owl");
        OWLOntologyManager m = OWLManager.createOWLOntologyManager();
        OWLDataFactory f = OWLManager.getOWLDataFactory();
        OWLOntology o;
        o = m.loadOntologyFromOntologyDocument(file);
        OWLClass clsA = f.getOWLClass(IRI.create("urn:test#ClassA"));
        OWLClass clsB = f.getOWLClass(IRI.create("urn:test#ClassB"));
        OWLAxiom ax1 = f.getOWLSubClassOfAxiom(clsA, clsB);
        AddAxiom addAxiom1 = new AddAxiom(o, ax1);
        m.applyChange(addAxiom1);
        for (OWLClass cls : o.getClassesInSignature()) {
            System.out.println(cls.getIRI());
        }
        m.removeOntology(o);
    }
}
 类似资料:
  • 问题内容: 我正在寻找一种在Java App(使用JDBC)中打开Access MDB文件的方法。 快速的Google搜索建议我为此需要JDBC-ODBC Bridge。 这是否意味着我需要配置要在其上运行应用程序的每个系统,以便为要打开的MDB提供ODBC DSN? 还有一个问题(因为我以前从未使用过ODBC):通信是通过某种套接字(以客户机/服务器方式)还是通过方法/函数调用(例如嵌入Derb

  • 问题内容: 我有一个页面,该页面向中的URL 发出JSONP ajax请求(使用jQuery的功能)。我以为(阅读:假定),其中的资源可以在服务器端访问该域中设置的任何cookie,但事实并非如此? 专门执行ajax调用以访问特定的cookie,进行一些数据操作并返回以cookie值为键的丰富信息集。原始域无法直接访问cookie值,因此我认为ajax请求将保持我需要的状态。 我会忽略关于Cook

  • 是否可以使用本地接口从war访问驻留在ear文件中的ejb 都部署在同一个应用服务器下。 ejb: 现在,在测试servlet(战争)中: 失败于: javax。命名。NameNotFoundException:试图在/app/webapp/FirstWebEJBTest/12292093中查找comp/env/FirstDemoEJB/Local时。; 但是远程查找可以很好地工作:

  • 问题内容: 我刚刚开始学习Go,有些事情引起了我的注意。 功能如下: 等等。作为来自C语言的人,我想知道: 1)是否可以通过变量本身来调用这些函数(如中所述)? 2)这是一种常见的做法(定义泛型函数并让其找出类型及其应执行的操作),还是仅用于内置类型。例如,如果我要定义自己的类型,例如,是否应该在类型内定义和附加函数,并将其命名为 还是应该定义一个接收列表的函数,例如: 问题答案: 1-您不能将内

  • 我对谷歌应用编程接口非常陌生,我有麻烦了。我留档谷歌照片APIJava,然后我在谷歌API控制台创建OAuth凭据并下载它(credentials.json文件)。之后,我试图访问谷歌照片。这里是代码从留档: 但是我不明白如何创建凭据对象,将其传递给FixedCreentialsProvider.create()方法 你能给我一些解释/链接吗?

  • 27.6 通过代理访问MBeans Spring JMX 允许你创建代理,它将重新路由到本地或者远程MBeanServer中注册的MBean。这些代理提供了标准的Java接口来和MBean进行交互。下面的代码展示了如何在本地允许的MBeanServer中配置代理: <bean class="org.springframework.jmx.access.MBeanProxyFactoryBean">