问题标签 [protege4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Protege 4.2 - OutOfMemoryError:OWL 本体中大量个体的 Java 堆空间
我对使用 protege 和使用本体非常陌生。我正在创建一个 lil 程序来检查防火墙规则,并且在尝试运行 Pellet resoner 时遇到以下错误,日志中有 2 个不同的错误:
1
错误 1 记录于 Sun Nov 17 21:49:48 COT 2013 OutOfMemoryError: Java heap space com.clarkparsia.pellet.rules.rete.Index$IndexNode.(Index.java:43) com.clarkparsia.pellet.rules.rete。 Index$IndexNode.add(Index.java:55) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add( Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet。 rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index。add(Index.java:173) com.clarkparsia.pellet.rules.rete.BetaNode.join(BetaNode.java:131) com.clarkparsia.pellet.rules.rete.Interpreter.processBetaNodes(Interpreter.java:109) com. clarkparsia.pellet.rules.rete.Interpreter.run(Interpreter.java:236) com.clarkparsia.pellet.rules.ContinuousRulesStrategy.applyRete(ContinuousRulesStrategy.java:179) com.clarkparsia.pellet.rules.ContinuousRulesStrategy.complete(ContinuousRulesStrategy. java:291) org.mindswap.pellet.ABox.isConsistent(ABox.java:1423) org.mindswap.pellet.ABox.isConsistent(ABox.java:1260) org.mindswap.pellet.KnowledgeBase.consistency(KnowledgeBase.java: 1987) org.mindswap.pellet.KnowledgeBase.isConsistent(KnowledgeBase.java:2061) org.mindswap.pellet.KnowledgeBase.ensureConsistency(KnowledgeBase.java:2075) org.mindswap.pellet.KnowledgeBase。分类(KnowledgeBase.java:2083) com.clarkparsia.pellet.owlapiv3.PelletReasoner.precomputeInferences(PelletReasoner.java:1067) org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.precompute(OWLReasonerManagerImpl.java:417) org.protege.editor.owl.model.inference.OWLreasonerManagerImpl$ClassificationRunner.run(OWLreasonerManagerImpl.java:356)
java.lang.Thread.run(Thread.java:722)
2
错误 2 记录于 Sun Nov 17 21:50:37 COT 2013 OutOfMemoryError: Java heap space java.util.HashMap.createEntry(HashMap.java:869) java.util.HashMap.addEntry(HashMap.java:856) java.util .HashMap.put(HashMap.java:484) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:56) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index .java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com .clarkparsia.pellet.rules.rete.Index$IndexNode.add(Index.java:58) com.clarkparsia.pellet.rules.rete.Index.add(Index.java:173) com.clarkparsia.pellet.rules.rete .BetaNode.join(BetaNode.java:131) com.clarkparsia.pellet.rules.rete.Interpreter.processBetaNodes(Interpreter.java:109) com.clarkparsia.pellet.rules.rete。Interpreter.run(Interpreter.java:236) com.clarkparsia.pellet.rules.ContinuousRulesStrategy.applyRete(ContinuousRulesStrategy.java:179) com.clarkparsia.pellet.rules.ContinuousRulesStrategy.complete(ContinuousRulesStrategy.java:291) org.mindswap。 pellet.ABox.isConsistent(ABox.java:1423) org.mindswap.pellet.ABox.isConsistent(ABox.java:1260) org.mindswap.pellet.KnowledgeBase.consistency(KnowledgeBase.java:1987) org.mindswap.pellet。 KnowledgeBase.isConsistent(KnowledgeBase.java:2061) com.clarkparsia.pellet.owlapiv3.PelletReasoner.isConsistent(PelletReasoner.java:849) org.protege.editor.owl.model.inference.OWLReasonerManagerImpl.getReasonerStatus(OWLReasonerManagerImpl.java:236) org.protege.editor.owl.model.OWLWorkspace.updateReasonerStatus(OWLWorkspace.java:750) org.protege.editor.owl.model.OWLWorkspace。handleModelManagerEvent(OWLWorkspace.java:351) org.protege.editor.owl.model.OWLWorkspace.access$000(OWLWorkspace.java:140) org.protege.editor.owl.model.OWLWorkspace$1.handleChange(OWLWorkspace.java:253) org.protege.editor.owl.model.OWLModelManagerImpl.fireEvent(OWLModelManagerImpl.java:818) org.protege.editor.owl.model.inference.OWLreasonerManagerImpl$ClassificationRunner$1.run(OWLreasonerManagerImpl.java:430) java.awt.event .InvocationEvent.dispatch(InvocationEvent.java:251) java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721) java.awt.EventQueue.access$200(EventQueue.java:103) java.awt.EventQueue$3.run(EventQueue .java:682) java.awt.EventQueue$3.run(EventQueue.java:680) java.security.AccessController.doPrivileged(本机方法)OWLWorkspace.access$000(OWLWorkspace.java:140) org.protege.editor.owl.model.OWLWorkspace$1.handleChange(OWLWorkspace.java:253) org.protege.editor.owl.model.OWLModelManagerImpl.fireEvent(OWLModelManagerImpl.java:第818章、 (EventQueue.java:721) java.awt.EventQueue.access$200(EventQueue.java:103) java.awt.EventQueue$3.run(EventQueue.java:682) java.awt.EventQueue$3.run(EventQueue.java: 680)java.security.AccessController.doPrivileged(本机方法)OWLWorkspace.access$000(OWLWorkspace.java:140) org.protege.editor.owl.model.OWLWorkspace$1.handleChange(OWLWorkspace.java:253) org.protege.editor.owl.model.OWLModelManagerImpl.fireEvent(OWLModelManagerImpl.java:第818章、 (EventQueue.java:721) java.awt.EventQueue.access$200(EventQueue.java:103) java.awt.EventQueue$3.run(EventQueue.java:682) java.awt.EventQueue$3.run(EventQueue.java: 680)java.security.AccessController.doPrivileged(本机方法)OWLModelManagerImpl.fireEvent(OWLModelManagerImpl.java:818) org.protege.editor.owl.model.inference.OWLreasonerManagerImpl$ClassificationRunner$1.run(OWLreasonerManagerImpl.java:430) java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251 ) java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721) java.awt.EventQueue.access$200(EventQueue.java:103) java.awt.EventQueue$3.run(EventQueue.java:682) java.awt.EventQueue $3.run(EventQueue.java:680) java.security.AccessController.doPrivileged(本机方法)OWLModelManagerImpl.fireEvent(OWLModelManagerImpl.java:818) org.protege.editor.owl.model.inference.OWLreasonerManagerImpl$ClassificationRunner$1.run(OWLreasonerManagerImpl.java:430) java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251 ) java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721) java.awt.EventQueue.access$200(EventQueue.java:103) java.awt.EventQueue$3.run(EventQueue.java:682) java.awt.EventQueue $3.run(EventQueue.java:680) java.security.AccessController.doPrivileged(本机方法)第721章.AccessController.doPrivileged(本机方法)第721章.AccessController.doPrivileged(本机方法)
我一直在阅读,我已将 JVM 内存更改为近 3GB,这是我笔记本电脑上的最大容量。我仔细检查了所有数据类型都是根据设计的。
在我的正确本体中,我使用 SWRL 规则,我得到了大约 1300 个和一些个人,.owl 文件是 5.31Mb。我正在运行 64 位 Windows 7。
我认为主要问题是我的笔记本电脑无法运行这个大型本体。有什么办法我可能是错的吗?我在一些地方看到他们说这个错误消息可能具有误导性。
我该如何解决这个问题?我有什么选择?我是新来的,但我准备好阅读很多=)谢谢大家
jena - 根据运行时计算的值确定类/个体关系
我有一个简单的本体,它包含一个 Weather 类和一些子类(虽然我不确定是否应该将它们设为个体),例如“Cold”、“Rainy”、“Sunny”等。问题是,我在我在运行时获得天气数据之前,不知道这些条件中的哪一个。例如,如果当前温度低于 70 度,则只有“冷”(我住在德克萨斯州;p)。有没有办法构建本体,以便可以在运行时完成这种推理?(我正在使用 Protege 和 Jena。)
基本上,我想根据当前有效的天气条件做不同的事情。为简单起见,假设我只想打印出“现在很冷,下雨……”,根据温度和降水量等数据列出当前的天气状况。
java - Hermit Resoner 与 Protege OWL API
我正在使用 Protege OWL API 4.3 (OWL API 3.4.2)。它安装了 HermiT Reasoner 插件。
我的问题是,无论我对推理器有什么查询,都没有输出,它不提供任何实例。
这就是我的本体的样子:
这是我的代码:
} 2 查询查找位置为“1”的人。System.out.println 应该显示单个“Mary”,但没有结果。有人可以告诉我我错过了什么吗?我想我按照http://code.google.com/p/elk-reasoner/wiki/QueryingComplexClasses做了所有事情。代码几乎是 1:1。
干杯,S。
owl - OWL Protege 的 FaCT++ 推理器
我下载了 OWL Protege 4.3。我构建了一个本体,我想检查给定配置的一致性。
我对软件完全陌生,我不知道如何将 faCT++ 与 OWL protege 一起使用。我可以看到我可以从“Reasoner > FaCt++”中选择一个推理器,但是我该怎么办?
先感谢您。
sparql - 不同的 SPARQL 查询引擎为 DESCRIBE 查询提供不同的结果
我在两个不同的引擎中尝试了一个 SPARQL 查询:
- Protege 4.3 - SPARQL 查询选项卡
- 耶拿 2.11.0
虽然查询相同,但这两个工具返回的结果不同。
我尝试了DESCRIBE
如下查询:
protege 的结果给了我?x
作为主语/宾语的元组;而来自耶拿的那些?x
只是作为主题。
我的问题是:
- SPARQL 的语法是否统一?
- 如果我想
DESCRIBE
在 protege 工作,我应该在耶拿做什么?
protege - 在 Protégé 4.3 中自动填充域和范围
我按照A Practical Guide to Building OWL Ontologies Using Protégé 4 - Edition 1.3的说明进行操作,它说当属性的域被填充时,其逆属性的范围应该由 Protégé 自动填充。但是,在Protégé 4.3中不再适用。
有人知道这个新版本中是否缺少步骤吗?
protege - Protégé - 如何重命名对象属性?
创建后,对象属性似乎无法重命名。这是Protégé的特色吗?如果有可能,我该怎么做?删除属性并添加另一个重命名的属性是一个非常烦人的过程。我正在使用 Protégé 4.3.0。
reasoning - SWRL 规则中的相等指令不起作用
我正在使用 Protege 4.3 来制定一些 SWRL 规则。
我有一个名为“Person”的类,一个名为“name”的属性。
我从班级中创建了具有不同名称的个体,有些名称相同。
我想编写一个规则来创建名为“sameName”的属性实例来绑定具有相同名称的人。所以我写了以下规则:
该规则给出了正确的结果,但包括每个人与他自己,意味着也将每个人与他自己进行比较,所以我添加了 notEqual(?p1,?p2) 来强制推理器不要像这样将一个人与自己进行比较:
结果是空的。我错过了什么?
rdf - 如何将关系数据库映射到 OWL?
我正在尝试将关系数据库映射到 OWL 这是我的 2 个表 student(student_id,student_name,course_id)
course(course_ID,course_name)
现在 course_id 是学生表中引用课程表中 course_id 的外键。我使用 Protege 4.3 创建了本体(定义了模式)
我正在尝试使用 Jena API 将数据作为实例插入 OWL 文件。在本体中,不是外键的列被映射到数据类型属性,外键被映射到对象属性,根据本文(映射关系到 OWL(第 4.4.4 节))。我将元组作为实例添加到耶拿的学生和课程课程中。如果外键是对象属性,我如何使用它来唯一地确定关系。这是我用来将数据作为实例添加到在 Protege 中创建的 owl 文件的耶拿代码。
这里“reln”是我为其添加外键 course_id(values) 的对象属性(功能)。但它是否有助于关联两个实例,这意味着假设我需要推断“亚当已经参加了 WebIR 课程”。
我的对象属性如何替换关系中的外键值以唯一地连接两个类的两个元组?
请提出建议,非常感谢任何帮助。
rdf - 上传 .nt/tdb 文件到 protege
我正在尝试加载 OWL、RDF、.nt、TDB 等本体文件的差异格式。
我想在 protege 中上传 .nt/TDB 文件。我的 nt(ntriple) 文件大小为 40gb。将保护支持这一点。