使用bin/neo4j-shell 进入neo4j命令行界面,执行以下语句预热:
MATCH (n)OPTIONAL MATCH (n)-[r]->()
RETURN count(n.prop) + count(r.prop) 索引问题
首先explain以下,看是否使用了索引,如果没有要添加索引,看下图:
其中,圈中部分NodeByLabelScan表示没有使用索引,这时要添加索引:
CREATE INDEX ON :Person(uid)
添加索引后再次explain,如下图:
此时,NodeIndexSeek表示使用了索引,这时再查询就快了。
最后,附张示例项目图,是个app界面
欢迎下载,人脉通
仍有问题请搜索“一起smart”或“iqismart”,去提问
在Neo4j中,一个关系(relationship)代表两个节点之间的连接。关系可以有不同的类型和属性,这些类型和属性是关系的两个重要概念。Relationship Types(关系类型)是描述关系之间相似性的标签。比如可以创建一个"KNOWS"关系类型,表示两个人之间的关系,也可以创建一个"JOINED"类型,表示两个人加入了同一个组织。这些关系类型可以帮助我们更好地组织和注释我们的数据。
Relationship Properties(关系属性)是描述关系本身或关系之间关联的元数据。它们可以是键值对,包含有关关系实例的附加信息。例如,在"KNOWS"关系中,我们可能希望保存关系的强度或持续时间。关系属性通常用于过滤、排序和计算。
Property Keys(属性键)是节点和关系属性的命名空间。每个属性具有一个键和一个值,用于表示与该属性相关联的数据。与属性不同,属性键是描述属性标识符的元数据。在Neo4j中,属性键可以作为索引的一部分,以提高数据访问性能。
总的来说,Neo4j中的关系类型和关系属性是用于描述节点之间连接的元数据,而属性键是描述属性本身的元数据。
给你粘一段代码吧:gbId=importer.createNode(node.pros,node.getAllLabels())//插入节点返回一个long gid
gid2Indexs(gbId, node)//将该gid放进索引中
idMap.put(node.getRequestId(), gbId)//我的程序中为了处理方便,维护了一个map
//创建关系的时候
String n1_requestId = rel.getRid_1()
String n2_requestId = rel.getRid_2()
Long n1Id = idMaps.get(n1_requestId)
Long n2Id = idMaps.get(n2_requestId)
RelationshipType type = rel.getType()
Map<String, Object>pros = rel.getRelPros()
if (null != n1Id &&null != n2Id)
importer.createRelationship(n1Id, n2Id, type, pros)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)