面向图数据库的Web框架?
我要构建一个网络应用程序,并且我意识到我的域数据最好由图形结构表示。哪些 Web 框架在与图形数据库(我的例子中是 neo4j)集成方面做得最好,从而给我最简单的启动和运行时间?我对所有语言(主要是..)持开放态度
编辑:
我的用例:
我正在为大学部门创建一个错误跟踪器。它将跟踪各种问题(例如:教室 1-0-24 需要粉笔作为白板,课程“编程入门很糟糕,因为......”,图书馆门上的警报太严格等)
我已经定义了许多“责任区域”(AoR),它们在“主题相关性”、“是超级 AoR”、“是子 AoR”等方面彼此相关。 “负责的团队也负责其他 AoR”等。我想向用户展示这些职责范围的图表。这是我对图表的愿望清单:
- 最初仅显示图表的一个子集
- 用户可以平移
- 当用户向一个方向平移时,图表的新区域就会显示出来。
- 用户可以单击一个节点来a)阅读有关该AoR的更多信息,b)将用户当前的问题分配给该AoR(或者甚至可以将问题拖到AoR,就像Google+中的朋友一样)
目前我正在考虑使用Grails(对于非图形部分,如安全性和用户管理)和原始 Neo4j 对于图形部分(即,不使用试图将圆放入方孔中的 GORM 插件)
我现在已经阅读了 InfoGrid,它听起来很有趣- 尤其是view-part(尽管我不知道它能让我离我的用户体验目标有多近)。我还担心它在非图形部分的效率不如 Grails。 Neo4j 在可视化方面似乎也没有完全迷失: http://wiki.neo4j.org/content/Visualization_options_for_graphs
I am to build a web app and I have realized that my domain data will be best represented by a graph structure. Which web frameworks out there does the greatest job at integrating with graph databases (neo4j in my case) and thereby gives me the easiest time getting up and running? I am open for all languages (mostly..)
EDIT:
My use case:
I am creating a bug tracker for a university department. It will track all kinds of issues (eg.: the classroom 1-0-24 needs chalk for the whiteboard, the course 'Introduction to programming sucks because of...', The alarm on the door into the library is way too strict, etc.)
I have defined loads of 'Areas of responsibility' (AoR) that are related to each other in terms of 'topically relatedness', 'is a super-AoR', 'is a sub-AoR', 'the responsible team is also responsible for this other AoR' and such. I want to present a graph of these areas of responsibility to the user. This is my wishlist for the graph:
- Initially only show a subset of the graph
- The user can pan around
- As the user pans in one direction, new areas of the graph is revealed.
- The user can click on a node to a) read more about that AoR, b) assign the users current Issue to that AoR (or maybe even drag issues to a AoR, just like with friends in Google+)
Currently I am considering using Grails (for the non-graphy parts like security and user management) and raw neo4j for the graph parts (that is, not using the GORM plugin that tries to fit a circle in a square hole)
I have now read about InfoGrid and it sounds quite interesting - especially the view-part (though I don't know how close it will bring me to my UX goal). I'm also worryed that it will not be as productive as Grails for the non-graphy parts.
Neo4j doesn't seem completely lost when it comes to visualisation either:
http://wiki.neo4j.org/content/Visualization_options_for_graphs
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
InfoGrid 项目在 InfoGrid 图形数据库之上构建了自己的 Web 框架——正是因为现有的 Web 框架不能很好地匹配图形。
例如,我们有自定义标签用于遍历(简单和复合)边、检测某些拓扑、将节点标识符转换为 URL 等。
不同意其他评论者的观点,使用非-图形感知网络框架。我们曾经:-(
The InfoGrid project built its own web framework on top of the InfoGrid graph database -- precisely because existing web frameworks don't match graphs very well.
For example, we have custom tags for traversing (simple and compound) edges, detecting certain topologies, converting node identifiers into URLs etc.
Disagreeing with the other commenter, it would be so much harder (and so much less fun) to use a non-graph-aware web framework. We used to :-(
您选择的任何 Web 框架都应该完全独立于数据库集成。根据我的经验,最好的 Web 框架是您最了解的框架。
在选择 Web 框架时,最好考虑与数据库集成不同的标准(例如:公共应用程序与内联网应用程序、无状态模型与有状态模型、预期并发用户数量等)。
Any web framework you'll choose, should be absolutely independent on the DB integration. From my experience, the best web framework is the one you know the best.
When choosing web frameworks, it is better to consider different criteria than DB integration, (like: public vs intranet application, statless vs statefull model, number of expected concurrent users, etc).