Tag: jena

Fuseki如何添加Pellet推理器

我想用我的Fuseki 2.3.1使用颗粒推理器 第一:我在我的config.ttl中添加了Pellet推理器,如下所示: ja:reasoner [ ja:reasonerClass “org.mindswap.pellet.jena.PelletReasonerFactory”;] 所以现在我必须将Pelletjar加入fuseki 这个页面解释了如何将jar(不是特定的pellete)添加到fuseki https://jena.apache.org/documentation/permissions/example.html 所以我很喜欢这条线 exec $ JAVA $ JVM_ARGS -jar“$ JAR”“$ @” 我没有注意到这一行 java $ JVM_ARGS -cp“$ JAR:$ APPJAR”org.apache.jena.fuseki.cmd.FusekiCmd“$ @” 并取消注释以APPJAR=开头的行 现在我仍然需要知道并下载 Pellete的jar子,我发现这个链接https://datababel.wordpress.com/2013/06/26/fuseki-using-pellet-inference/说哪个是jar子, 我从maven下载了最新的可用版本,它们是: 粒料耶拿ignazio1977-2.4.0-ignazio1977.jar 粒料规则2.3.6-ansell.jar 粒料-EL-2.3.6-ansell.jar 颗粒状的数据类型-2.3.6-ansell.jar 丸芯-ignazio1977-2.4.0-ignazio1977.jar aterm的Java-1.8.2-p1.jar 公地collections4-4.1-javadoc.jar 公地collections4-4.1.jar 我将它们添加到fuseki-server脚本中,如下所示: APPJAR=pellet-jena-ignazio1977-2.4.0-ignazio1977.jar:pellet-rules-2.3.6-ansell.jar:pellet-el-2.3.6-ansell.jar:pellet-datatypes-2.3.6-ansell.jar:pellet-core-ignazio1977-2.4.0-ignazio1977.jar:aterm-java-1.8.2-p1.jar:commons-collections4-4.1-javadoc.jar:commons-collections4-4.1.jar (它们位于fuseki的主目录中) 我运行./fuseki-server,我收到此错误 [2016-03-30 16:49:06] Server INFO Fuseki 2.3.1 2015-12-08T09:24:07+0000 [2016-03-30 16:49:07] Config INFO FUSEKI_HOME=/usr/local/apache-jena-fuseki-2.3.1 […]

Jena TDB java.lang.ExceptionInInitializerError

我正在使用Jena TDB加载RDF数据集并对其进行SPARQL查询。 我正在使用以下maven依赖项: org.apache.jena apache-jena-libs pom 3.0.1 这是我试图创建TDB数据集的java代码: public void loadDirectory(String outputFile){ Dataset dataset = TDBFactory.createDataset(directoryPath); Model tdb = dataset.getDefaultModel(); FileManager.get().readModel(tdb, outputFile); tdb.close(); dataset.close(); LOG.info(“RDF dataset loaded to memory”); } 它在函数的第一行失败:TDBFactory.createDataset(directoryPath),带有以下错误消息: Exception in thread “main” java.lang.ExceptionInInitializerError at org.sdw.model.JenaModel.loadDirectory(JenaModel.java:69) at org.sdw.Main.main(Main.java:75) Caused by: java.lang.NullPointerException at org.apache.jena.tdb.sys.EnvTDB.processGlobalSystemProperties(EnvTDB.java:33) at org.apache.jena.tdb.TDB.init(TDB.java:250) at org.apache.jena.tdb.sys.InitTDB.start(InitTDB.java:29) at org.apache.jena.system.JenaSystem.lambda$init$40(JenaSystem.java:114) at java.util.ArrayList.forEach(ArrayList.java:1249) at org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:179) […]

一旦我编写了内置函数,我需要做些什么才能让reasoners知道它?

我已经编写了一个自定义内置以在我的项目中使用,但我真的不知道如何使用它。 我写了两节课。 在其中一个中有我使用的内置(使用BaseBuiltin ),另一个我注册了新的内置(使用BuiltinRegistry )。 我已经尝试使用默认的内置函数,编写在使用Java从Eclipse可读的文本文件中使用它们的规则。 在这种情况下,我没有任何问题。 我怎样才能使用我建的内置? 我应该在某些文件中导入(或包含)某些内容吗?