目录
产品简介
RDF4J是由荷兰软件公司 Aduna 作为“On-To-Knowledge”的一部分创建的,这是一个从 1999 年到 2002 年运行的语义网络项目。它包含内存中三元组和磁盘三元组的实现,以及两个单独的Servlet 可用于在永久服务器上管理和提供对这些三元存储的访问的软件包。RDF4J Rio(RDF 输入/输出)包包含一个用于基于 Java 的 RDF 解析器和编写器的简单 API。流行的 RDF 序列化的解析器和编写器与 RDF4J 一起分发,用户可以通过在运行他们的应用程序时将他们的解析器和编写器放在 Java 类路径上来轻松扩展列表。
产品功能
RDF4J 提供了两个开箱即用的 RDF 数据库(内存存储和本地存储),此外还有许多第三方存储解决方案可用。该框架为开发人员提供了大量工具,以利用 RDF 和相关标准的力量。RDF4J 完全支持用于表达查询的 SPARQL 1.1 查询和更新语言,并使用与本地访问完全相同的 API 提供对远程 RDF 存储库的透明访问。最后,RDF4J 支持所有主流的 RDF 文件格式,包括 RDF/XML、Turtle、N-Triples、N-Quads、JSON-LD、TriG 和 TriX。
核心数据库
RDF4J 提供了一组开箱即用的数据库实现。
RDF4J内存存储是一个事务性 RDF 数据库,它使用主内存和可选的持久同步到磁盘。它速度快,对于小型数据集具有出色的性能。它随可用的 RAM 量而扩展。
RDF4J Native Store是一个使用直接磁盘 IO 实现持久性的事务性 RDF 数据库。它是一种比内存存储更具可扩展性的解决方案,内存占用更小,并且还提供更好的一致性和持久性。它目前针对的是 1 亿个三元组数量级的中型数据集。
RDF4J ElasticsearchStore是一个使用 Elasticsearch 进行存储的实验性 RDF 数据库。如果您已经在项目中使用 Elasticsearch 来处理其他事情并且想要添加一些小规模的图形数据,这将非常有用。一个好的用例是如果您的应用程序需要参考数据或本体。内置的读取缓存使其成为不经常更新的数据的不错选择,尽管对于大多数用例,NativeStore 会快得多。
在这些核心数据库之上,RDF4J 提供了许多功能扩展。这些扩展添加了改进的全文搜索、RDFS 推理、使用 SHACL/SPIN 的基于规则的推理和验证以及地理空间查询支持等功能。