- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在Sesame中处理BNODE有什么解决方案吗?例如:
if(! (statement.getObject() instanceof BNode))
tempModel.remove(statement);
如果我们有一个类似 { s p1 _:a, _:a p2 "value") 的 RDF,因此即使在删除语句之后,第二个三元组仍将保留在模型中。在 Sesame 中没有提供任何处理 BNode 的解决方案吗?
最佳答案
你可以这样做:
tempModel.remove(statement); // remove the first statement
if (statement.getObject() instanceof BNode) {
// remove the second statement
tempModel.remove((BNode)statement.getObject(), null, null);
}
在大多数简单的情况下,这将解决它。
但是,如果 BNode 是 RDF 集合的开始(即,使用大量 rdf:first
和 rdf:rest
属性建模,以及大量的空白节点),你需要比这更聪明的东西,因为在这种情况下,第二个语句的对象本身也可以再次成为空白节点。
在当前的 Sesame 版本中,您需要进行一些手动递归循环才能正确执行此操作。
但是一个utility function to more easily handle RDF Collections即将在芝麻4.1.0中发布。如果你等不及正式发布,你可以 peek at its source code只需复制它的作用即可为此获得您自己的自定义实用程序函数。
关于java - Sesame中BNode的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35114924/
我正在尝试创建一个基于 Sesame 的 SPARQL 端点。我安装了 Tomcat、PostgreSQL,并部署了 Sesame 的 Web 应用程序。我创建了一个基于 PostgreSQL RDF
我想使用 Jersey 实现一些 RESTful Web 服务,这些服务通过 Sesame Java API 使用 SPARQL 从 RDF 三重存储访问数据。同时,我想使用 Sesame Serve
有些公共(public)方法像 count() 一样工作,有些我得到“卡住”错误 gem 'rdf', '=0.3.11.1' 需要'rdf' 需要'rdf/芝麻' 需要'rdf/ntriples'
我想将现有 Sesame 存储库中的所有数据复制到新存储库中。我需要迁移,以便在我的三重存储上使用 OWL 推理,这在内存存储库(我现有存储库的类型)中使用 OWLIM 是不可能的。 将所有三元组从存
如何防止我的 OpenRDF Sesame 2.6.5 RDF 存储通过 SPARQL 端点进行修改(插入/删除)? “选择”查询将通过 POST 请求完成。 禁止(通过 Sesame 的 WAR 的
我一直在测试 Sesame 2.7.2,当面对 DESCRIBE 查询不包含空白节点闭包这一事实时,我感到非常惊讶[编辑:正确的术语是 CBD for concise bounded descript
我是 SPIN 的新手,我阅读了文档并查阅了一些示例,但我想开始使用它。 我从 http://topquadrant.com 看到了一些工具对于 SPIN,但我已经使用 openrdf-sesame
我使用 Sesame 通过 SPARQL 查询 RDF。我处理大文件(2GB、10GB)并随后执行多个查询。在处理如此大的文件时,我收到错误java.lang.OutOfMemoryError:Jav
我之前使用的是 FUSEKI,现在改为 OpenRDF/Sesame。 一切正常,我只有一个问题。在一种方法中,我需要取回模型中存储库的完整数据库。该方法如下所示: private static
我不会确切地说它是有限的,但只要我能看到给出的建议是那种“如果你需要超越它,你可以改变后端存储......”。为什么?为什么芝麻在超过 150-200 米三元组时不如说 OWLIM 或 Allegrg
我有一些关于芝麻三元组的数据。当我使用 GUI 查询它时,无论查询多少次,返回的三元组序列都保持不变。当我以编程方式尝试相同的事情时,序列不断变化(尽管结果是相同的)。有人可以解释为什么会出现这种情况
假设 (s,p,o) 和列表,我想使用 Sesame 中的模型结构并检查是否可以使用主语 s、谓词列表并在末尾到达 o。 例如我们说有一条路径,如果对于(s,p,o)和{p1,p2,p3},存在以下三
我在 OS X 10.8 上的 Tomcat 7 中使用 booth Sesame .wars,但现在它不再工作了。我用两个新的 Sesame .war 设置了一个新的 Tomcat,但现在它使用旧的
我正在尝试使用 Sesame 存储库来存储我的本体。我想编写 JAVA 代码来加载此本体或仅对其运行查询以添加新的个体、属性等。但似乎 SeRQL 不提供更新操作。是否有一些 API 可以让我这样做?
我正在研究 Java 芝麻。在教程之后,我从一个非常小的例子开始。我正在尝试构建一个如代码所示的简单语句。我的问题是我不知道如何打印出该语句的主语或宾语。谁能帮我解决这个问题?这是我的代码: publ
我在 java 中有以下代码通过后端数据库 (postgreSQL) 查询 SPARQL 查询。 import rdfProcessing.RDFRepository; import java.io.
我正在使用 Sesame 作为三重存储;我想将三元组保存在 MySQL 数据库中。在 sesame 2.6.10 中,我在 WEB-INF\lib\文件夹中添加了 mysql-connector-ja
我正在用 Java 编写一个程序来使用 Sesame 的服务,但是当我调用登录时: @Override protected void doPost(HttpServletRequest request
我需要实现一个简单的java应用程序来在Seasame上执行一些查询。我想一开始尝试一些简单的事情,但我无法初始化存储库。我遵循官方指南,我的程序如下所示: public class Hello
我正在尝试使用 SPARQL 和 Sesame 2.7 查询存储库,但是当我运行我的代码时,出现以下错误 org.openrdf.http.client.SesameHTTPClient - Serv
我是一名优秀的程序员,十分优秀!