Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用OWL API在OWL本体上编写OWLObjectPropertyExpression_Java_Semantic Web_Owl_Owl Api - Fatal编程技术网

Java 使用OWL API在OWL本体上编写OWLObjectPropertyExpression

Java 使用OWL API在OWL本体上编写OWLObjectPropertyExpression,java,semantic-web,owl,owl-api,Java,Semantic Web,Owl,Owl Api,我正试图在OWL本体对象上编写一个OWLObjectPropertyExpression。如果我有一个OWL类,我会使用如下内容: OWLOntologyManager managerWriter = OWLManager.createOWLOntologyManager(); OWLOntology ontoWrite=managerWriter.createOntology(); OWLDataFactory factory = manager.getOWLDataFactory();

我正试图在OWL本体对象上编写一个OWLObjectPropertyExpression。如果我有一个OWL类,我会使用如下内容:

 OWLOntologyManager managerWriter = OWLManager.createOWLOntologyManager();
 OWLOntology ontoWrite=managerWriter.createOntology();
 OWLDataFactory factory = manager.getOWLDataFactory();
 managerWriter.addAxiom(ontoWrite,factory.getOWLDeclarationAxiom(factory.getOWLClass((cl.getIRI()))));
但是如果我想写一个OWLObjectPropertyExpression,我应该写什么呢?
提前谢谢

下面的代码片段演示了使用OWL API(摘自并改编自)使用和创建OWL表达式的示例:


谢谢你的回答。在我的例子中,我从一个外部对象接收到一个OWLClassExpression对象,我不知道在OWLAxiom定义中放什么。有什么建议吗?你想对OWLClassExpression对象做什么?通常人们会将这些表达式与此处所示的公理结合使用。好吧,让我进一步解释。我正在以实验的方式使用隐士推理机。推理机中存在一个类org.semanticweb.Hermit.structural.OWLAxioms。我正试图在一个本体中编写它的一些字段(例如m_complexObjectPropertyExpressions)。嗯,我不确定我能提供的帮助是否超过我提供的答案,对不起:-/我只是忘记了我不能在本体中添加表达式,因为它不包含在一些公理中。
//OWL Expression we would like to create:
//in OWL Functional syntax: ObjectIntersectionOf(A ObjectSomeValuesFrom(R B))
//in Manchester syntax: A and R some B
PrefixManager pm = new DefaultPrefixManager("http://example.org/");
OWLClass A = factory.getOWLClass(":A", pm);
OWLObjectProperty R = factory.getOWLObjectProperty(":R", pm);
OWLClass B = factory.getOWLClass(":B", pm);

//The expression
OWLClassExpression expression = 
  factory.getOWLObjectIntersectionOf(A, factory.getOWLObjectSomeValuesFrom(R, B));

//Create a class in order to use the expression
OWLClass C = factory.getOWLClass(":C", pm);

// Declare an equivalentClass axiom
//Just there to show how an example on how to use the expression
OWLAxiom definition = factory.getOWLEquivalentClassesAxiom(C, expression);
manager.addAxiom(ontology, definition);