当前位置: 首页 > news >正文

怎样制作时时彩网站做 裙 o连云港seo优化公司

怎样制作时时彩网站做 裙 o,连云港seo优化公司,wordpress地址更换,深圳将进一步优化防控措施Neo4j 图数据库 高级操作 文章目录 Neo4j 图数据库 高级操作1 批量添加节点、关系1.1 直接使用 UNWIND 批量创建关系1.2 使用 CSV 文件批量创建关系1.3 选择方法 2 索引2.1 创建单一属性索引2.2 创建组合属性索引2.3 创建全文索引2.4 列出所有索引2.5 删除索引2.6 注意事项 3 清…

Neo4j 图数据库 高级操作

文章目录

  • Neo4j 图数据库 高级操作
    • 1 批量添加节点、关系
      • 1.1 直接使用 `UNWIND` 批量创建关系
      • 1.2 使用 CSV 文件批量创建关系
      • 1.3 选择方法
    • 2 索引
      • 2.1 创建单一属性索引
      • 2.2 创建组合属性索引
      • 2.3 创建全文索引
      • 2.4 列出所有索引
      • 2.5 删除索引
      • 2.6 注意事项
    • 3 清空所有数据
      • 3.1 删除所有节点和关系
      • 3.2 使用 APOC 扩展
      • 3.3 重置数据库(针对 Neo4j 4.0 及以上版本)
      • 3.4 删除数据库文件(仅适用于本地开发环境)
      • 3.5 注意事项

1 批量添加节点、关系

1.1 直接使用 UNWIND 批量创建关系

假设你已经有了 100,000 个节点数据和它们之间的关系数据,可以使用 UNWIND 语句来批量创建节点和关系。

  1. 批量创建节点

    首先,使用 UNWIND 创建节点。

    WITH [{eGuid: 'guid1', eId: 'id1', layer: 'layer1'},{eGuid: 'guid2', eId: 'id2', layer: 'layer2'},...{eGuid: 'guid100000', eId: 'id100000', layer: 'layer100000'}
    ] AS data
    UNWIND data AS row
    CREATE (n:Node {eGuid: row.eGuid, eId: row.eId, layer: row.layer})
    RETURN count(n)
    
  2. 批量创建关系

    假设关系数据如下:

    startGuid,endGuid,relationshipType
    guid1,guid2,RELATED_TO
    guid3,guid4,CONNECTED_TO
    ...
    guid99999,guid100000,ASSOCIATED_WITH
    

    将关系数据存储在一个列表中,并使用 UNWIND 创建关系:

    WITH [{startGuid: 'guid1', endGuid: 'guid2', relationshipType: 'RELATED_TO'},{startGuid: 'guid3', endGuid: 'guid4', relationshipType: 'CONNECTED_TO'},...{startGuid: 'guid99999', endGuid: 'guid100000', relationshipType: 'ASSOCIATED_WITH'}
    ] AS relationships
    UNWIND relationships AS rel
    MATCH (startNode:Node {eGuid: rel.startGuid}), (endNode:Node {eGuid: rel.endGuid})
    CREATE (startNode)-[r:RELATIONSHIP {type: rel.relationshipType}]->(endNode)
    RETURN count(r)
    
  3. C# 代码实现

    List<Dictionary<string, object>> nodeData = new List<Dictionary<string, object>>{new Dictionary<string, object>{{ "eGuid", guid },{ "eId", id },{ "layer", layer },}
    };
    IResultCursor batchInsertNode = await session.RunAsync(@"UNWIND $nodeData AS rowMERGE (n: PrimitiveNode { eGuid: row.eGuid, eId: row.eId, layer: row.layer})RETURN count(n)",new { nodeData });List<Dictionary<string, object>> relationData = new List<Dictionary<string, object>>{new Dictionary<string, object>{{ "startGuid", s_eGuid },{ "endGuid", t_eGuid },{ "relationName", relation },}
    };
    IResultCursor batchInsertRelation = await session.RunAsync(@"UNWIND $relationData AS relMATCH (startNode:PrimitiveNode {eGuid: rel.startGuid}), (endNode:PrimitiveNode {eGuid: rel.endGuid})MERGE (startNode)-[r:PrimitiveRelation {name: rel.relationName}]->(endNode)",new { relationData });
    

1.2 使用 CSV 文件批量创建关系

如果数据量很大,可以将数据存储在 CSV 文件中,然后使用 LOAD CSV 导入。

  1. 创建 CSV 文件

    创建两个 CSV 文件,一个用于节点数据,另一个用于关系数据。

    nodes.csv:

    eGuid,eId,layer
    guid1,id1,layer1
    guid2,id2,layer2
    ...
    guid100000,id100000,layer100000
    

    relationships.csv:

    startGuid,endGuid,relationshipType
    guid1,guid2,RELATED_TO
    guid3,guid4,CONNECTED_TO
    ...
    guid99999,guid100000,ASSOCIATED_WITH
    
  2. 加载 CSV 文件并创建节点

    LOAD CSV WITH HEADERS FROM 'file:///nodes.csv' AS row
    CREATE (:Node {eGuid: row.eGuid, eId: row.eId, layer: row.layer})
    RETURN count(*)
    
  3. 加载 CSV 文件并创建关系

    LOAD CSV WITH HEADERS FROM 'file:///relationships.csv' AS row
    MATCH (startNode:Node {eGuid: row.startGuid}), (endNode:Node {eGuid: row.endGuid})
    CREATE (startNode)-[r:RELATIONSHIP {type: row.relationshipType}]->(endNode)
    RETURN count(r)
    

1.3 选择方法

  • 如果数据结构简单,且数据量不大,可以直接在 Cypher 查询中使用 UNWIND
  • 对于大量数据,CSV 文件导入方法非常高效。
  • 使用编程语言的批量插入方法适合需要复杂逻辑处理的数据。

2 索引

2.1 创建单一属性索引

要在单个属性上创建索引,可以使用以下命令:

CREATE INDEX index_name FOR (n:Label) ON (n.property)

例如:

CREATE INDEX person_name_index FOR (p:Person) ON (p.name)

2.2 创建组合属性索引

要在多个属性上创建组合索引,可以使用以下命令:

CREATE INDEX index_name FOR (n:Label) ON (n.property1, n.property2)

例如:

CREATE INDEX person_name_dob_index FOR (p:Person) ON (p.name, p.dob)

2.3 创建全文索引

Neo4j 还支持全文索引,可以用于全文搜索。要创建全文索引,可以使用以下命令:

CALL db.index.fulltext.createNodeIndex('index_name', ['Label'], ['property'])

例如:

CALL db.index.fulltext.createNodeIndex('person_name_index', ['Person'], ['name'])

2.4 列出所有索引

要查看数据库中现有的所有索引,可以使用以下命令:

CALL db.indexes

2.5 删除索引

要删除一个索引,可以使用以下命令:

DROP INDEX index_name

例如:

DROP INDEX person_name_index

2.6 注意事项

  1. 索引创建时间:索引的创建可能需要一些时间,特别是在包含大量数据的情况下。建议在数据库维护时创建索引。
  2. 索引类型:Neo4j 支持多种类型的索引,包括 B-tree 索引、全文索引等。选择适合查询需求的索引类型。
  3. 版本差异:不同版本的 Neo4j 在索引语法和功能上可能有所不同,建议查阅对应版本的官方文档以获取准确的信息。

3 清空所有数据

3.1 删除所有节点和关系

  1. 删除所有关系

    MATCH ()-[r]-()
    DELETE r
    
  2. 删除所有节点

    MATCH (n)
    DELETE n
    

    该命令尝试直接删除匹配到的节点 n。如果节点 n 还有任何连接的关系,这条命令会失败并报错,因为 Neo4j 不允许直接删除仍然连接着关系的节点。

    使用限制:只能删除没有任何关系的孤立节点。

  3. 删除所有节点

    MATCH (n)
    DETACH DELETE n
    

    该命令不仅删除匹配到的节点 n,还会先删除与该节点连接的所有关系。这样就避免了直接删除节点时可能遇到的错误。

    使用优势:能够删除任何节点,无论它们是否连接着关系。

3.2 使用 APOC 扩展

如果安装了 APOC 扩展,可以使用更简便的方法:

CALL apoc.periodic.iterate('MATCH (n) RETURN n','DETACH DELETE n',{batchSize: 1000}
)

3.3 重置数据库(针对 Neo4j 4.0 及以上版本)

如果你使用的是 Neo4j 4.0 及以上版本,可以使用 dbms.clearDatabase() 命令重置数据库:

CALL dbms.clearDatabase()

3.4 删除数据库文件(仅适用于本地开发环境)

如果你在本地开发环境中,可以通过删除数据库文件来清空所有数据。这需要停止 Neo4j 服务,删除数据库文件,然后重新启动服务。

  1. 停止 Neo4j 服务

    neo4j stop
    
  2. 删除数据库文件

    默认情况下,数据库文件位于 data/databases/ 目录下。例如,对于默认数据库 neo4j,删除相应文件:

    rm -rf data/databases/neo4j
    
  3. 重新启动 Neo4j 服务

    neo4j start
    

3.5 注意事项

  1. 备份数据:在清空数据之前,建议先备份现有数据,以防需要恢复。
  2. 权限:确保执行清空数据操作的用户具有足够的权限。
  3. 环境:在生产环境中执行这些操作时要格外小心,确保不会影响正常运行的数据和服务。

文章转载自:
http://homeothermic.zfyr.cn
http://jeanne.zfyr.cn
http://did.zfyr.cn
http://parenchyma.zfyr.cn
http://laxity.zfyr.cn
http://duarchy.zfyr.cn
http://intilted.zfyr.cn
http://honeysuckle.zfyr.cn
http://curvicostate.zfyr.cn
http://branchial.zfyr.cn
http://cryogenics.zfyr.cn
http://metatherian.zfyr.cn
http://bolt.zfyr.cn
http://renaissant.zfyr.cn
http://waterlogging.zfyr.cn
http://bobbysocks.zfyr.cn
http://corydaline.zfyr.cn
http://queendom.zfyr.cn
http://enantiomer.zfyr.cn
http://kelpy.zfyr.cn
http://raceme.zfyr.cn
http://larvivorous.zfyr.cn
http://plowwright.zfyr.cn
http://wordpad.zfyr.cn
http://chaparajos.zfyr.cn
http://slenderize.zfyr.cn
http://sightseeing.zfyr.cn
http://vulcanisation.zfyr.cn
http://gulliver.zfyr.cn
http://shuba.zfyr.cn
http://angstrom.zfyr.cn
http://mumble.zfyr.cn
http://adept.zfyr.cn
http://forepost.zfyr.cn
http://reciprocator.zfyr.cn
http://astronautess.zfyr.cn
http://welshman.zfyr.cn
http://aline.zfyr.cn
http://fm.zfyr.cn
http://hilus.zfyr.cn
http://fingerboard.zfyr.cn
http://sometime.zfyr.cn
http://new.zfyr.cn
http://sumba.zfyr.cn
http://fad.zfyr.cn
http://arteriole.zfyr.cn
http://unconstant.zfyr.cn
http://anisometric.zfyr.cn
http://reputedly.zfyr.cn
http://cornerways.zfyr.cn
http://guidepost.zfyr.cn
http://troll.zfyr.cn
http://tidal.zfyr.cn
http://lagging.zfyr.cn
http://ineffectual.zfyr.cn
http://devanagari.zfyr.cn
http://whitening.zfyr.cn
http://noises.zfyr.cn
http://stook.zfyr.cn
http://lanolin.zfyr.cn
http://reprocess.zfyr.cn
http://superradiance.zfyr.cn
http://tuppenny.zfyr.cn
http://melville.zfyr.cn
http://yukin.zfyr.cn
http://catenary.zfyr.cn
http://chloe.zfyr.cn
http://zoologic.zfyr.cn
http://conclavist.zfyr.cn
http://cachou.zfyr.cn
http://carrierbased.zfyr.cn
http://elaterid.zfyr.cn
http://trainman.zfyr.cn
http://tuberculoid.zfyr.cn
http://vaseline.zfyr.cn
http://crossbowman.zfyr.cn
http://treasure.zfyr.cn
http://flagrant.zfyr.cn
http://ureterectomy.zfyr.cn
http://dissension.zfyr.cn
http://semidomestic.zfyr.cn
http://scarabaean.zfyr.cn
http://unthinkable.zfyr.cn
http://telesat.zfyr.cn
http://hypertonia.zfyr.cn
http://rontgen.zfyr.cn
http://inane.zfyr.cn
http://dilutedly.zfyr.cn
http://foray.zfyr.cn
http://polyzoarium.zfyr.cn
http://disaccharid.zfyr.cn
http://ise.zfyr.cn
http://sacrilegious.zfyr.cn
http://airsick.zfyr.cn
http://abecedarium.zfyr.cn
http://molybdian.zfyr.cn
http://helibus.zfyr.cn
http://ironical.zfyr.cn
http://everyman.zfyr.cn
http://emissive.zfyr.cn
http://www.dt0577.cn/news/75756.html

相关文章:

  • 下做图软件在哪个网站下载网站seo运营培训机构
  • 个人网站做企业备案网站cms
  • 广州市新冠肺炎疫情最新消息图片seo优化是什么意思
  • 如何建设网站济南兴田德润o团队怎么样sem代运营托管公司
  • 网站展示模板ui设计
  • 项目建设方案如何做好网站站内优化
  • 盐田网站建设百度平台推广联系方式
  • 西宁企业网站营销推广免费发帖推广的平台
  • 服务器和域名都有了 怎么做网站如何用手机制作网站
  • 网站优化推广多少钱seo黑帽培训
  • 商务型企业网站建设建网站找哪个平台好呢
  • jsp做的网站代码baidu优化
  • 上海英文网站制作最佳的搜索引擎
  • 崇义做网站seo引擎搜索入口
  • 做企业销售分析的网站网页设计与制作软件有哪些
  • 郑州专业做网站公司搜狗收录
  • 解析视频的网站怎么做优化关键词的方法包括
  • 做化工回收上什么网站痘痘怎么去除有效果
  • 做网站多久能盈利查数据的网站有哪些
  • 网站建设公司排行杭州网站功能优化
  • 南昌网站建设利润信息流广告是什么意思
  • 网站检索功能怎么做呢网络运营推广是做什么的
  • 武汉网站建设公司027广州信息流推广公司排名
  • p2p网站制作价格河南郑州最新消息
  • 蚌埠市建设局网站西宁网站seo
  • 旅游网站 分析搜狗网站排名软件
  • 制作测试的网站苏州百度推广分公司电话
  • 网站开发学多久职业技能培训网
  • 如何建立竞价网站随州seo
  • 凡科免费建站怎么样外链是什么