我们可以编写 SQL 查询而不是 CQL 吗?
Posted
技术标签:
【中文标题】我们可以编写 SQL 查询而不是 CQL 吗?【英文标题】:Can we write SQL query instead of CQL? 【发布时间】:2019-12-09 14:08:47 【问题描述】:我正在使用 JDBC 驱动程序 (org.neo4j.jdbc.bolt.BoltDriver) 连接到 neo4j (jdbc 链接 url:neo4j-jdbc-driver-link)。可以看到我们需要在执行查询时编写 SQL。
我们可以编写 SQL 查询而不是像 SELECT p.* FROM products as p;
这样的 CQL 吗?
【问题讨论】:
请注意,Cypher 并不难上手。该查询的等价物是,假设我们有:Product 节点:MATCH (p:Product) RETURN p
,但请注意,这只是p
的单列,每行有一个属性映射。正如 Luanne 所说,Neo4j 没有表的概念,没有任何东西可以确定特定标签的节点必须具有的属性。 SQL 可以动态推断列,因为这是在 products 表中定义的。这在 Neo4j 中不存在,因此无法推断(没有更复杂的查询和标签扫描),即使那样也不会是动态的。
【参考方案1】:
不,它只接受 Cypher。 Neo4j 中没有表的概念。文档位于https://neo4j-contrib.github.io/neo4j-jdbc/
【讨论】:
以上是关于我们可以编写 SQL 查询而不是 CQL 吗?的主要内容,如果未能解决你的问题,请参考以下文章
geoserver配置SQL图层 cql_filter模糊查询