Tag: 猫头鹰

如何使用Jena API将资源与其他资源相关联

我创建了一个包含两个类的本体,第一个名为Father ,第二个是名为Son的子类。 我想使用Jena为类父设置以下条件 只有儿子。 有一些儿子。 然后我会对Son这样做: 有一些父亲。 我的第二个问题是我不知道如何将类Son的实例与使用Jena的Father类联系起来。 我知道使用Protégé操纵我的课程是可能的,但我想探索耶拿。

使用Jena以编程方式生成OWL类层次结构

我想通过提供向量以编程方式使用OWL生成本体。 我的目标是能够在Protégé中打开生成的OWL文件并使用Jena。 输入向量 我要通过的向量: [[layer, network layer, data link layer, physical layer], [network, computer network], [data link], [ontology, ontology extraction]]. 预期产出 输出应具有以下树状层次结构: layer -network layer -data link layer -physical layer network -computer network ontology -ontology extraction data link 层次结构,其中network layer在layer下面等等,是非常重要的。 这是我想要生成的文件的示例:

如何使用JENA创建owl文件?

我陷入了本体创作的中间。 我想用Java创建一个OWL文件,这是我的目标。 我已经创建了分层集群,但现在我必须在本体创建中使用这些集群。 提前致谢。 到目前为止我已经尝试过了。 我得到了狄金森的观点。 现在这是我的代码,我在线程“main”中获得Exception as Exception com.hp.hpl.jena.shared.BadURIException:只有格式良好的绝对URIrefs可以包含在RDF / XML输出中:代码:57 / REQUIRED_COMPONENT_MISSING在SCHEME中:缺少该方案所需的组件。 JenaOwl.java public class JenaOwl { static OntModel jenaModel = null; public static void main(String[] args) throws IOException { JenaOwl jo = new JenaOwl(); FileWriter fw = null; try { jenaModel = createModel(); } catch (Exception ex) { Logger.getLogger(JenaOwl.class.getName()).log(Level.SEVERE, null, ex); } […]

如何将RDF三元组添加到OWLOntology?

我有一些来自RabbitMQ的数据。 数据格式为三元组,因此队列中的消息可能如下所示: :Tom foaf:knows :Anna 其中:是我要导入数据的本体的标准命名空间,但也可以使用其他来自导入的前缀。 三元组由主语,属性/谓语和对象组成,我知道在每条消息中哪个是哪个。 在接收端,我有一个带有OWLOntology对象的Java程序,该对象表示应该临时存储新到达的三元组以用于推理和其他东西的本体。 我有点设法将三元组变成Jena OntModel但这就是它结束的地方。 我尝试使用OWLRDFConsumer但我找不到任何关于如何应用它的信息。 我的函数看起来像这样: public void addTriple(RDFTriple triple) { //OntModel model = ModelFactory.createOntologyModel(); String subject = triple.getSubject().toString(); subject = subject.substring(1,subject.length()-1); Resource s = ResourceFactory.createResource(subject); String predicate = triple.getPredicate().toString(); predicate = predicate.substring(1,predicate.length()-1); Property p = ResourceFactory.createProperty(predicate); String object = triple.getObject().toString(); object = object.substring(1,object.length()-1); RDFNode o = ResourceFactory.createResource(object); Statement […]

执行OWL API时出错

我正在尝试执行以下代码。 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 […]

我如何为Jena的Ontology添加一些三倍?

我有class1 instance2和class2 instance2 。 我也在我的本体中定义了HasName(object property) 。 现在,如何通过jena将triple( instance1 HasName instance2 )添加到我的本体?