我想为我的 Web 应用程序构建一个本体,我想使用 Neo4j 来表示本体(因为我还是使用 Neo4j)。
现在看来,我必须从头开始编写它,包括整个本体实现、验证、推理、GUI 编辑器。肯定是工作量太大了。
是否有一个框架或库可以让我在 neo4j 上管理我的本体,而无需从头开始实现它?如果不是,最合理的选择是什么?(我在 Node.js 上使用 Neo4j)
我想为我的 Web 应用程序构建一个本体,我想使用 Neo4j 来表示本体(因为我还是使用 Neo4j)。
现在看来,我必须从头开始编写它,包括整个本体实现、验证、推理、GUI 编辑器。肯定是工作量太大了。
是否有一个框架或库可以让我在 neo4j 上管理我的本体,而无需从头开始实现它?如果不是,最合理的选择是什么?(我在 Node.js 上使用 Neo4j)
本体实现、验证、推理、GUI 编辑器。
如果您想要这些东西(GUI 编辑器除外),您可以使用Tinkerpop 的蓝图堆栈,同时仍然使用 Neo4j 作为数据库。它从“低级”图形数据库的 API 中抽象出来,并提供统一的接口。这意味着您可以在将来更改数据库,同时保留这些功能。
要开始使用,您需要主蓝图库 Neo4j impl。和赛欧。. 此时,您应该使用GraphSail
该类及其 Connection 类进行语义图管理。
请注意,通过使用 Sail 补充(我没有想出这个术语..),您可以使用 Sesame 的库,例如(从我的 maven 项目中粘贴)sesame-rio-rdfxml、sesame-rio-ntriples、sesame-repository-sail ,芝麻-queryparser-sparql。
我不是为 Tinkerpop 工作,但我真的很喜欢他们的框架。
Neosemantics 插件可以做很多事情。你可能想看看。您可以导入现有的本体并轻松扩展它。您可以使用 Bloom 免费获得可视化,但没有本体编辑器本身。为此,您可以使用 Protégé。在那里创建您的,然后使用新语义将其导入neo4j。这是一条线:
CALL n10s.onto.import.fetch("...path to your onto...", "Turtle")
//or whichever serialisation format you're using