当前位置: 首页 > news >正文

汽车行业网站建设比较哈尔滨网页制作最新招聘信息

汽车行业网站建设比较,哈尔滨网页制作最新招聘信息,水网站建设,归客手游代理平台intent隐式和显式我最近阅读了Michal Bachman关于 Neo4j中双向关系的文章 #xff0c;他建议对于某些关系类型#xff0c;我们对关系的方向不那么感兴趣#xff0c;因此可以在查询时忽略它。 他使用以下示例显示Neo Technology和GraphAware之间的合作关系#xff1a; 两家… intent隐式和显式 我最近阅读了Michal Bachman关于 Neo4j中双向关系的文章 他建议对于某些关系类型我们对关系的方向不那么感兴趣因此可以在查询时忽略它。 他使用以下示例显示Neo Technology和GraphAware之间的合作关系 两家公司都是彼此的合作伙伴但是由于我们可以尽快找到传入和传出的关系因此我们最好在两家公司/节点之间只有一种关系。 当我们想使图中的隐式关系显式时经常会出现这种模式。 例如我们可能有以下图表描述了他们从事的人员和项目 我们可以使用以下密码语法在Neo4j 2.0中创建该图 CREATE (mark:Person {name: Mark}) CREATE (dave:Person {name: Dave}) CREATE (john:Person {name: John})CREATE (projectA:Project {name: Project A}) CREATE (projectB:Project {name: Project B}) CREATE (projectC:Project {name: Project C})CREATE (mark)-[:WORKED_ON]-(projectA) CREATE (mark)-[:WORKED_ON]-(projectB) CREATE (dave)-[:WORKED_ON]-(projectA) CREATE (dave)-[:WORKED_ON]-(projectC) CREATE (john)-[:WORKED_ON]-(projectC) CREATE (john)-[:WORKED_ON]-(projectB) 如果我们想弄清楚哪些人彼此认识我们可以编写以下查询 MATCH (person1:Person)-[:WORKED_ON]-()-[:WORKED_ON]-(person2) RETURN person1, person2 -------------------------------------------------------| person1 | person2 |-------------------------------------------------------| Node[500363]{name:Mark} | Node[500364]{name:Dave} || Node[500363]{name:Mark} | Node[500365]{name:John} || Node[500364]{name:Dave} | Node[500363]{name:Mark} || Node[500364]{name:Dave} | Node[500365]{name:John} || Node[500365]{name:John} | Node[500364]{name:Dave} || Node[500365]{name:John} | Node[500363]{name:Mark} |-------------------------------------------------------6 rows 我们可能想在每对人之间创建一个KNOWS关系 MATCH (person1:Person)-[:WORKED_ON]-()-[:WORKED_ON]-(person2) CREATE UNIQUE (person1)-[:KNOWS]-(person2) RETURN person1, person2 现在如果我们运行一个查询忽略关系方向以找出彼此认识的人我们将得到很多重复的结果 MATCH path(person1:Person)-[:KNOWS]-(person2) RETURN person1, person2, path --------------------------------------------------------------------------------------------------------------------------------| person1 | person2 | path |--------------------------------------------------------------------------------------------------------------------------------| Node[500363]{name:Mark} | Node[500364]{name:Dave} | [Node[500363]{name:Mark},:KNOWS[528536]{},Node[500364]{name:Dave}] || Node[500363]{name:Mark} | Node[500365]{name:John} | [Node[500363]{name:Mark},:KNOWS[528537]{},Node[500365]{name:John}] || Node[500363]{name:Mark} | Node[500364]{name:Dave} | [Node[500363]{name:Mark},:KNOWS[528538]{},Node[500364]{name:Dave}] || Node[500363]{name:Mark} | Node[500365]{name:John} | [Node[500363]{name:Mark},:KNOWS[528541]{},Node[500365]{name:John}] || Node[500364]{name:Dave} | Node[500363]{name:Mark} | [Node[500364]{name:Dave},:KNOWS[528538]{},Node[500363]{name:Mark}] || Node[500364]{name:Dave} | Node[500365]{name:John} | [Node[500364]{name:Dave},:KNOWS[528539]{},Node[500365]{name:John}] || Node[500364]{name:Dave} | Node[500363]{name:Mark} | [Node[500364]{name:Dave},:KNOWS[528536]{},Node[500363]{name:Mark}] || Node[500364]{name:Dave} | Node[500365]{name:John} | [Node[500364]{name:Dave},:KNOWS[528540]{},Node[500365]{name:John}] || Node[500365]{name:John} | Node[500364]{name:Dave} | [Node[500365]{name:John},:KNOWS[528540]{},Node[500364]{name:Dave}] || Node[500365]{name:John} | Node[500363]{name:Mark} | [Node[500365]{name:John},:KNOWS[528541]{},Node[500363]{name:Mark}] || Node[500365]{name:John} | Node[500363]{name:Mark} | [Node[500365]{name:John},:KNOWS[528537]{},Node[500363]{name:Mark}] || Node[500365]{name:John} | Node[500364]{name:Dave} | [Node[500365]{name:John},:KNOWS[528539]{},Node[500364]{name:Dave}] |--------------------------------------------------------------------------------------------------------------------------------12 rows 每对人出现4次如果我们以马克和戴夫为例我们可以看到原因 MATCH path(person1:Person)-[:KNOWS]-(person2) WHERE person1.name Mark AND person2.name Dave RETURN person1, person2, path --------------------------------------------------------------------------------------------------------------------------------| person1 | person2 | path |--------------------------------------------------------------------------------------------------------------------------------| Node[500363]{name:Mark} | Node[500364]{name:Dave} | [Node[500363]{name:Mark},:KNOWS[528536]{},Node[500364]{name:Dave}] || Node[500363]{name:Mark} | Node[500364]{name:Dave} | [Node[500363]{name:Mark},:KNOWS[528538]{},Node[500364]{name:Dave}] |--------------------------------------------------------------------------------------------------------------------------------2 rows 如果我们看一下路径栏下有两个不同的KNOWS关系与IDS 528536和528538马克和戴夫一个去之间从马克戴夫和其他来自Dave马克。 正如Michal在他的帖子中指出的那样在这种情况下不需要两个关系。 我们只需要一种关系可以通过创建KNOWS关系时不指定方向来实现 MATCH (person1:Person)-[:WORKED_ON]-()-[:WORKED_ON]-(person2) CREATE UNIQUE (person1)-[:KNOWS]-(person2) RETURN person1, person2 现在如果我们重新运行查询以检查Mark和Dave之间的关系则只有一个 MATCH path(person1:Person)-[:KNOWS]-(person2) WHERE person1.name Mark AND person2.name Dave RETURN person1, person2, path --------------------------------------------------------------------------------------------------------------------------------| person1 | person2 | path |--------------------------------------------------------------------------------------------------------------------------------| Node[500375]{name:Mark} | Node[500376]{name:Dave} | [Node[500375]{name:Mark},:KNOWS[528560]{},Node[500376]{name:Dave}] |--------------------------------------------------------------------------------------------------------------------------------1 row 在这种情况下关系从Mark到Dave可以通过执行一些考虑方向的查询来看到 MATCH path(person1:Person)-[:KNOWS]-(person2) WHERE person1.name Mark AND person2.name Dave RETURN person1, person2, path --------------------------------------------------------------------------------------------------------------------------------| person1 | person2 | path |--------------------------------------------------------------------------------------------------------------------------------| Node[500375]{name:Mark} | Node[500376]{name:Dave} | [Node[500375]{name:Mark},:KNOWS[528560]{},Node[500376]{name:Dave}] |--------------------------------------------------------------------------------------------------------------------------------1 rowMATCH path(person1:Person)-[:KNOWS]-(person2) WHERE person1.name Mark AND person2.name Dave RETURN person1, person2, path --------------------------| person1 | person2 | path |----------------------------------------------------0 row 参考 Neo4j通过Mark Needham博客博客的JCG合作伙伴 Mark Needham 使隐式关系成为显式和双向关系 。 翻译自: https://www.javacodegeeks.com/2013/10/neo4j-making-implicit-relationships-explicit-bidirectional-relationships.htmlintent隐式和显式
http://wiki.neutronadmin.com/news/232649/

相关文章:

  • 网站建设与维护的国家定价标准wordpress网盘
  • 和京东一样的网站如何自己建立一个网站
  • 诚信的小程序开发兼职网站浪起网站建设
  • 网站建设与制作视频教学wordpress用什么数据库连接
  • 网络销售网站外包美食 wordpress
  • 镇江网站优化公司510企业网站系统源码
  • 读图机 东莞网站建设教人做策划的网站
  • 公司网站建设的相关建议古塔网站建设
  • 网站专题制作关闭wordpress更新提示
  • 乐陵人力资源网站网站建设怎么收费
  • 上海做外贸网站建设php移动网站开发
  • 图片展示网站php源码wordpress 代码分析
  • 网站建设信息稿冒用网站备案号建设网站
  • qq空间网站根目录织梦网站修改教程视频教程
  • 自己如何制作一个网站寻找客户的渠道和方法
  • 阿里云虚拟主机建站教程企业公示信息查询系统山西
  • 塘厦东莞网站建设开发工具在哪里找
  • 做一个网站的建设过程北京专业网站建设网站推广
  • 做网站难度什么都可以看的浏览器
  • 建站教学视频网站色彩的应用
  • 做淘宝主要看哪些网站有哪些内容襄阳头条新闻
  • 一起做陶瓷的网站wordpress分库
  • 10有免费建网站哈尔滨网站建设效果
  • 网站建设与网页制作实训报告新媒体营销岗位职责说明书
  • 营销型网站建设报价方案郑州市网站建设怎么样
  • nginx网站建设网站显示wordpress
  • 各类大型网站建设天蓝色网站
  • 自己做网站推广产品个人简历(电子版)
  • 可信网站十大软件免费下载网站排行榜
  • 上传了网站标志怎么弄wordpress邮件验证