database - 在 Neo4J 数据库上使用 Jena 推理器

标签 database neo4j jena reasoning

这是我第一次在这里写作,但我真的遇到了一个问题: 是否可以在已经充满数据的 No-SQL 数据库(如 Neo4J)上使用 Jena reasoner?

我有一个 Neo4J 的图表,表示一堆三元组,我想对它们使用 Jena API 和 Jena 推理器。我考虑过使用 Jena 的 SDB/TDB 组件,但我不知道如何将数据实际加载到我的模型中,因为 SDB 组件似乎只与 SQL 数据库一起使用,并且整个 TDB javadoc 的遍历似乎有点太多了。 我是否也应该为 TDB 模型定义某种配置文件?

非常感谢您的帮助。

最佳答案

你应该看看this link其中描述了 neo4j 和三层存储之间的联系。或者至少可能的联系。

neo4j 模型与 Jena 使用的 RDF 模型有很大不同。 RDF 由三元组组成,即主语、谓语和宾语。 Here is an example of a graph composed of triples .请注意使用 URI 来标识资源,并注意节点通常是原子数据值。它们是一个 URI、一个简单的数字、一个字符串等等。

在 Neo4j 中,节点是“属性容器”。这意味着它们不仅仅是 URI,而且它们实际上是信息包。关系连接节点。所以 RDF“谓词”有点像 Neo4j 关系,但 Neo4j 节点不像 RDF 资源和文字。

如果你想在 neo4j 数据库上使用推理器,你的主要任务是从 neo4j 中提取数据,并将其格式化为一组 RDF 三元组。然后,您可以将这些 RDF 三元组放入 Jena Model .当您在内存中拥有该 jena 模型时,您可以使用现有的 jena API 将该模型用于推理器。

关于database - 在 Neo4J 数据库上使用 Jena 推理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22934791/

相关文章:

python - 为什么我无法安装 Cassandra 驱动程序

sql-server - SQL Server 中数据类型的大小应该是 2 的幂吗?

mysql - 将泛化转换为 mysql 方案

csv - 如何使用neo4j-import?

spring - 云中的 Neo4j

java - Jena:如何添加带有数值的属性?

mysql - 循环数据库表,依次获取每条记录的所有值

ruby-on-rails - 使用 neo4j-database 进行 Rails rspec 测试会给出 ActiveRecord::AdapterNotSpecified-error

playframework - 将 Jena 添加到 Play Framework 2.0

java - SPARQL 请求注释