首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >地理哈希滚动图(5级)从(level7)与赛弗?

地理哈希滚动图(5级)从(level7)与赛弗?
EN

Stack Overflow用户
提问于 2018-09-27 13:24:51
回答 1查看 70关注 0票数 0

我试图从现有的7级缩放中创建一个具有5级缩放的地理哈希图。我尝试了以下代码:

代码语言:javascript
复制
 FROM GRAPH mergedGraph
 MATCH (from)-[via]->(to)
 CASE WHEN substring(from.geohash,0,5)=substring(to.geohash,0,5)
 THEN
 CONSTRUCT
 CREATE (h:HashNode{geohash:substring(from.geohash,0,5)})-[COPY OF via]->(h)
 ELSE
 CONSTRUCT create (:HashNode{geohash:substring(from.geohash,0,5)})-[COPY OF via]->(:HashNode{geohash:substring(to.geohash,0,5)})
 END
 RETURN GRAPH

尽管在密码中这似乎不正确,但我得到了一个例外:

代码语言:javascript
复制
Caused by: org.opencypher.v9_0.util.SyntaxException: Invalid input 'S': expected 'l/L' (line 4, column 4 (offset: 57))

在英文单词中,我想:如果开始节点和结束节点共享相同的Geo散列子字符串,那么创建一个具有指向它的关系的节点:

否则创建两个节点:

NB:我正在从事的项目是为APACHE火花设计的CYPHER

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-30 17:18:38

我用以下步骤解决了我的问题:

1)从现有的图中创建具有5级的图:

代码语言:javascript
复制
//Creation Geohash Graph with level 5 from the initial graph (level 7)
   val Level5 = session.cypher("""
                      | FROM GRAPH mergeGraph
                      | MATCH (from)-[via]->(to)
                      | CONSTRUCT
                      |  CREATE (:HashNode{geohash:substring(from.geohash,0,5)})-[COPY OF via]->(:HashNode{geohash:substring(to.geohash,0,5)})
                      | RETURN GRAPH
                      """.stripMargin).graph

2)从前面的图中复制远程节点:

代码语言:javascript
复制
session.cypher ("""
 | CATALOG CREATE GRAPH nodes2 {
 | FROM GRAPH session.Level5
 | MATCH (n)
 | WITH DISTINCT n.geohash AS geohash
 |CONSTRUCT
 | CREATE (h:HashNode{geohash:geohash})
 |RETURN GRAPH
  }""".stripMargin)

最后:

3)通过从第一个关系复制关系并将它们影响到远程节点来创建远程level5图

代码语言:javascript
复制
val level5= session.cypher("""
                               FROM GRAPH Level5
                              |  MATCH (from)-[via]->(to)
                              |  FROM GRAPH nodes2
                              |  MATCH (n), (m)
                              |  WHERE from.geohash=n.geohash AND to.geohash = m.geohash
                               construct
                              |    CREATE (n)-[COPY OF via]->(m)
                              |  RETURN GRAPH
                           """.stripMargin).graph

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52538098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档