查询邮箱注册网站,大象2022秘密入口免费看,赣州网站建设有哪些,河南国控建设集团招标网站herokuNeo4j今年早些时候发起了一项挑战#xff0c;即“ 种子播云 ”#xff0c;以使人们使用Neo4j附加组件在Heroku上创建模板或演示应用程序。 经过许多内部辩论之后#xff0c;我决定进入#xff0c;但由于缺乏想法而陷入绝望。 当我没有做任何特别的事情时#xff0c;… heroku Neo4j今年早些时候发起了一项挑战即“ 种子播云 ”以使人们使用Neo4j附加组件在Heroku上创建模板或演示应用程序。 经过许多内部辩论之后我决定进入但由于缺乏想法而陷入绝望。 当我没有做任何特别的事情时我想到了这个主意-构建一个简单的应用程序以帮助人们找到口味相辅相成的成分。 基本上您可以将这些配料很好地搭配在一起-知道哪种配料具有风味亲和力可以制作出一些令人赞叹的新菜。 该应用程序允许您添加具有“亲和力”的配对-它们配对的程度如何-并搜索成分以查找与之配对的其他成分。 该应用程序是使用Grails 2.0前端构建的可视化是非常简洁的d3.js库的结果并且与Neo4j的交互是通过Neo4j REST Api完成的。 整个程序都部署在Heroku带有Neo4j附加组件上而源代码可以在github上找到。 要开始使用Grails 2.0Neo4j附加组件和Heroku请阅读有关主题的Aldrins帖子 http ://thought-bytes.blogspot.in/2012/02/grails-20-heroku-and-neo4j-addon.html 自述文件中介绍了如何在本地以及在Heroku上部署Flavorwocky。 该模型非常适合于图表-如您所见它非常简单 每个类别都有颜色编码-为方便起见它作为属性存储在类别节点上但是当然不必如此。 Flavorwocky也被选为该挑战的基础因为它是图形的真实世界用例我希望本条目真正专注于Neo4j而不是支持风铃。 建立 当应用程序启动时我们检查数据库是否为空。 为此我们从参考节点执行遍历 以查找与其连接的任何类别。 如果没有则我们先创建类别集方法是先创建其节点 然后创建与参考节点的关系 。 我们还创建索引 “成分”该索引用于索引成分名称。 源代码 https : //github.com/luanne/flavorwocky/blob/master/grails-app/conf/BootStrap.groovy 添加配对 添加配对涉及 检查任一节点是否已存在以避免重新创建它 创建两个节点并将它们在单个事务中链接到其类别 在上面的同一笔交易中创建它们之间的关系 为此我们使用了批处理操作 注意这仍然是实验性的。 来源 https : //github.com/luanne/flavorwocky/blob/master/grails-app/controllers/com/herokuapp/flavorwocky/FlavorwockyController.groovy fetchOrCreateNodes 自动完成 这只是一个索引查找 其名称匹配部分输入的成分。 来源 https : //github.com/luanne/flavorwocky/blob/master/grails-app/controllers/com/herokuapp/flavorwocky/FlavorwockyController.groovy autosearch 可视化 我们使用d3.js为搜索结果提供了两种可视化效果。 “ Explore”可视化基于Node-Link树 我们使用Cypher查询来查找与搜索到的成分配对的所有成分最深3级将其转换为适当的数据结构并将其呈现为JSON。 请注意尽管可视化是交互式的但数据获取不是。 一次可获取3个级别的整个数据集-将来的增强功能是仅在扩展节点时才能获取子级。 来源 https : //github.com/luanne/flavorwocky/blob/master/grails-app/controllers/com/herokuapp/flavorwocky/FlavorwockyController.groovy getSearchVisualizationAsTreeJson 尽管树很漂亮但缺点是它是一棵树因此如果孩子彼此链接那么您会在树中看到该成分的多个实例。 因此我们尝试了另一种可视化方法来捕获成分之间的相互关系并且还捕获了有趣的事实例如风味三重奏-如果您在网络可视化中看到一个三角形则这三种成分可以很好地结合在一起的可能性很高。 为此我们使用了力导向图 。 同样 Cypher查询可以解决这个问题这次深入5个级别以生成更丰富的模型。 来源 https : //github.com/luanne/flavorwocky/blob/master/grails-app/controllers/com/herokuapp/flavorwocky/FlavorwockyController.groovy getSearchVisualizationAsNetworkJson 在两个示例中配对的亲和力用于计算成分之间连接器的长度这表明较短的连接具有比较长连接的成分更好的配对。 就是这样 这个应用程序可以做很多事情但是需要等待一些时间。 如果您喜欢Flavorwocky 或者只想让我赢请发布有关Flavorwocky的 推文 。 投票也有帮助 参考 本月风味-用于Heroku的Neo4j插件和本月 风味-Neo4j和Heroku是我们JCG合作伙伴的第二部分 Thought Bytes博客上的Aldrin和Luanne Misquitta。 翻译自: https://www.javacodegeeks.com/2012/02/flavor-of-month-neo4j-and-heroku.htmlheroku