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