【发布时间】: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 中不存在,因此无法推断(没有更复杂的查询和标签扫描),即使那样也不会是动态的。