我正在测试性能 neo4j 与 OrientDB 图数据库。我正在使用 neo4j 网站上提供的 MoiveDatabase 数据集。我已按照说明进行操作:
export-graphml -t -o /tmp/out.graphml
CREATE DATABASE plocal:/tmp/db/test
IMPORT DATABASE /tmp/out.graphml storeVertexIds=true
这是classes
输出,所以我猜导入没问题。
CLASSES
----------------------+------------------------------------+------------+----------------+
NAME | SUPERCLASS | CLUSTERS | RECORDS |
----------------------+------------------------------------+------------+----------------+
ACTS_IN | [E] | 14 | 94700 |
DIRECTED | [E] | 13 | 11915 |
E | | 10 | 0 |
FRIEND | [E] | 16 | 6 |
Movie | [V] | 12 | 6379 |
OFunction | | 6 | 0 |
OIdentity | | - | 0 |
ORestricted | | - | 0 |
ORIDs | | 8 | 0 |
ORole | [OIdentity] | 4 | 3 |
OSchedule | | 7 | 0 |
OTriggered | | - | 0 |
OUser | [OIdentity] | 5 | 3 |
Person | [V] | 11 | 50013 |
RATED | [E] | 15 | 30 |
V | | 9 | 61752 |
----------------------+------------------------------------+------------+----------------+
TOTAL = 16 224801 |
----------------------+------------------------------------+------------+----------------+
但是当我尝试执行这个查询时:
SELECT in() FROM Movie LIMIT 10
或者SELEC out() FROM Person LIMIT 10
我没有得到任何记录。这是为什么?
我正在尝试重写 co-actors 查询:
MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(:Movie)<-[:ACTED_IN]-(coActor:Person)
RETURN coActor.name
和“co-co-actors”查询:
MATCH (tom:Person)-[:ACTED_IN]->(movie1)<-[:ACTED_IN]-(coActor:Person),
(coActor)-[:ACTED_IN]->(movie2)<-[:ACTED_IN]-(coCoActor:Person)
WHERE tom.name = "Tom Hanks" AND NOT (tom)-[:ACTED_IN]->(movie2)
RETURN coCoActor.name
我应该用TRAVERSE
这个吗?