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

网站建设推广刺盾云建筑网站图纸

网站建设推广刺盾云,建筑网站图纸,房地产市场调研报告,建设部网站监理变更目录 一、预备~ 二、基础操作 (一) 图空间 1. 创建图空间 2. 清空图空间 3. 其他 4. FAQ 执行DROP SPACE语句删除图空间后#xff0c;为什么磁盘的大小没变化#xff1f; (二) 点类型 1. 创建Tag 2. 删除Tag 3. 更新Tag 4. 其他 (三) 边类型 1. 创建Edge type…目录 一、预备~ 二、基础操作 (一) 图空间 1. 创建图空间 2. 清空图空间 3. 其他 4. FAQ 执行DROP SPACE语句删除图空间后为什么磁盘的大小没变化 (二) 点类型 1. 创建Tag 2. 删除Tag 3. 更新Tag 4. 其他 (三) 边类型 1. 创建Edge type 2. 删除Edge type 3. 更新Edge type 4. 其他 (四) 点 1. 插入Vertex 2. 删除Vertex 3. 更新Vertex 4. 插入或更新Vertex (五) 边 1. 插入Edge 2. 删除Edge 3. 更新Edge 4. 插入或更新Edge (六) 作业管理 1. 支持的作业 SUBMIT JOB STATS 2. 查看作业 查看单个作业运行详情 查看作业列表 3. 停止作业 4. 重新执行作业 5. FAQ 如何排查作业问题 三、查询 相关文档 nGQL命令汇总nGQL 命令汇总 - NebulaGraph Database 手册 一、预备~ 一个NebulaGraph实例由一个或多个图空间组成。每个图空间都是物理隔离的用户可以在同一个实例中使用不同的图空间存储不同的数据集。 为了在图空间中插入数据需要为图数据库定义一个Schema。NebulaGraph的Schema是由如下几部分组成。 组成部分 说明 点Vertex 表示现实世界中的实体。一个点可以有一个或多个标签。 标签Tag 点的类型定义了一组描述点类型的属性。 边Edge 表示两个点之间有方向的关系。 边类型Edge type 边的类型定义了一组描述边的类型的属性。 二、基础操作 (一) 图空间 1. 创建图空间 CREATE SPACE [IF NOT EXISTS] graph_space_name ([partition_num partition_number,][replica_factor replica_number,]vid_type {FIXED_STRING(N) | INT[64]})[COMMENT comment]; partition_num分片数默认为10。建议设置为集群中硬盘数量的20倍HDD硬盘建议为2倍replica_factor副本数默认为1。建议生产环境为3测试环境为1必须为奇数vid_type*指定点ID的数据类型可选值为FIXED_STRING(N)和INT64COMMENT图空间描述 示例 # 创建示例图中图空间 CREATE SPACE IF NOT EXISTS basketballplayer (vid_typeFIXED_STRING(32)) comment测试图空间;# 指定分片数量、副本数量和 VID 类型并添加描述。 CREATE SPACE IF NOT EXISTS my_demo (partition_num15, replica_factor1, vid_typeFIXED_STRING(32)) comment测试图空间;# 克隆图空间 CREATE SPACE IF NOT EXISTS my_demo2 as my_demo;# 查看图空间创建语句 SHOW CREATE SPACE my_demo2; 2. 清空图空间 用于清空图空间中的点和边但不会删除图空间本身及Schema信息 CLEAR SPACE [IF EXISTS] space_name; 建议在执行CLEAR SPACE操作之后立即执行SUBMIT JOB COMPACT操作以提升查询性能 需要注意的是COMPACT 操作可能会影响查询性能建议在业务低峰期例如凌晨执行该操作。 只有God 角色的用户可以执行CLEAR SPACE语句 3. 其他 # 切换图空间 USE graph_space_name;# 查询全部图空间 SHOW SPACES;# 查看图空间信息 DESC SPACE graph_space_name;# 删除图空间 DROP SPACE [IF EXISTS] graph_space_name; 4. FAQ 执行DROP SPACE语句删除图空间后为什么磁盘的大小没变化 如果使用 3.1.0 之前版本的 NebulaGraph , DROP SPACE语句仅删除指定的逻辑图空间不会删除硬盘上对应图空间的目录和文件。如需删除硬盘上的数据需手动删除相应文件的路径文件路径为nebula_graph_install_path/data/storage/nebula/space_id。其中space_id可以通过DESCRIBE SPACE {space_name}查看。 (二) 点类型 1. 创建Tag CREATE TAG [IF NOT EXISTS] tag_name(prop_name data_type [NULL | NOT NULL] [DEFAULT default_value] [COMMENT comment][{, prop_name data_type [NULL | NOT NULL] [DEFAULT default_value] [COMMENT comment]} ...] )[TTL_DURATION ttl_duration][TTL_COL prop_name][COMMENT comment]; prop_name属性名称data_type属性类型NULL | NOT NULL是否支持为NULL默认为NULLDEFAULT指定属性默认值COMMENT指定属性描述信息TTL_DURATION指定时间戳差值单位秒。默认值为0表示属性永不过期。TTL_COL指定要设置存活时间的属性。属性的数据类型必须是int或者timestamp。一个 Tag 只能指定一个字段为TTL_COL。更多 TTL 的信息请参见 TTL 示例 # 创建示例图中TAG CREATE TAG IF NOT EXISTS player(name string COMMENT 姓名, age int DEFAULT 20 COMMENT 年龄) COMMENT人物; CREATE TAG IF NOT EXISTS team(name string COMMENT 团队名) COMMENT团队;# 对字段 create_time 设置 TTL 为 100 秒。 CREATE TAG IF NOT EXISTS woman(name string, age int, married bool, salary double, create_time timestamp) TTL_DURATION 100, TTL_COL create_time; 2. 删除Tag DROP TAG [IF EXISTS] tag_name; 点可以有一个或多个Tag 如果某个点只有一个 Tag删除这个 Tag 后用户就无法访问这个点下次 Compaction 操作时会删除该点但与该点相邻的边仍然存在——这会造成悬挂边如果某个点有多个 Tag删除其中一个 Tag仍然可以访问这个点但是无法访问已删除 Tag 所定义的所有属性。 删除 Tag 操作仅删除 Schema 数据硬盘上的文件或目录不会立刻删除而是在下一次 Compaction 操作时删除。 NebulaGraph 3.6.0 中默认不支持插入无 Tag 的点。如需使用无 Tag 的点 在集群内所有 Graph 服务的配置文件nebula-graphd.conf中新增--graph_use_vertex_keytrue 在所有 Storage 服务的配置文件nebula-storaged.conf中新增--use_vertex_keytrue 3. 更新Tag ALTER TAG tag_namealter_definition [[, alter_definition] ...][ttl_definition [, ttl_definition] ... ][COMMENT comment];alter_definition: | ADD (prop_name data_type [NULL | NOT NULL] [DEFAULT default_value] [COMMENT comment]) | DROP (prop_name) | CHANGE (prop_name data_type [NULL | NOT NULL] [DEFAULT default_value] [COMMENT comment])ttl_definition:TTL_DURATION ttl_duration, TTL_COL prop_name tag_name指定修改的Tag名称一次只能修改一个Tag可以在一个ALTER TAG语句中使用多个ADD、DROP和CHANGE用,分割⚡当使用CHANGE修改属性的数据类型时 仅允许修改FIXED_STRING和INT类型的长度为更大的长度不允许减少长度仅允许修改FIXED_STRING类型为STRING类型、修改FLOAT类型为DOUBLE类型确保要修改的属性不包含索引否则ALTER TAG时会报冲突错误[ERROR (-1005)]: Conflict!。删除索引请参见 drop index确保新增的属性名不与已存在或被删除的属性名同名 示例 CREATE TAG IF NOT EXISTS t1 (p1 string, p2 int);ALTER TAG t1 ADD (p3 int32, p4 fixed_string(10)); ALTER TAG t1 TTL_DURATION 2, TTL_COL p2; ALTER TAG t1 COMMENT test1; ALTER TAG t1 ADD (p5 double NOT NULL DEFAULT 0.4 COMMENT p5) COMMENTtest2;# 将 TAG t1 的 p3 属性类型从 INT32 改为 INT64p4 属性类型从 FIXED_STRING(10) 改为 STRING。 nebula ALTER TAG t1 CHANGE (p3 int64, p4 string); 4. 其他 # 查询当前图空间中全部Tag SHOW TAGS;# 显示指定Tag信息 DESC[RIBE] TAG tag_name;# 删除指定点上的指定Tag DELETE TAG tag_name_list FROM VID_list; (三) 边类型 1. 创建Edge type CREATE EDGE [IF NOT EXISTS] edge_type_name(prop_name data_type [NULL | NOT NULL] [DEFAULT default_value] [COMMENT comment][{, prop_name data_type [NULL | NOT NULL] [DEFAULT default_value] [COMMENT comment]} ...] )[TTL_DURATION ttl_duration][TTL_COL prop_name][COMMENT comment]; prop_name属性名称data_type属性类型NULL | NOT NULL是否支持为NULL默认为NULLDEFAULT指定属性默认值COMMENT指定属性描述信息TTL_DURATION指定时间戳差值单位秒。默认值为0表示属性永不过期。TTL_COL指定要设置存活时间的属性。属性的数据类型必须是int或者timestamp。一个 Tag 只能指定一个字段为TTL_COL。更多 TTL 的信息请参见 TTL 示例 # 创建示例图中Edge type CREATE EDGE IF NOT EXISTS follow (degree int); CREATE EDGE IF NOT EXISTS serve (start_year int, end_year int);# 对字段 p2 设置 TTL 为 100 秒。 CREATE EDGE IF NOT EXISTS e1(p1 string, p2 int, p3 timestamp) TTL_DURATION 100, TTL_COL p2; 2. 删除Edge type DROP EDGE [IF EXISTS] edge_type_name 一个边只能有一个Edge type删除这个 Edge type 后用户就无法访问这个边下次 Compaction 操作时会删除该边。 3. 更新Edge type ALTER EDGE edge_type_namealter_definition [, alter_definition] ...][ttl_definition [, ttl_definition] ... ][COMMENT comment];alter_definition: | ADD (prop_name data_type) | DROP (prop_name) | CHANGE (prop_name data_type)ttl_definition:TTL_DURATION ttl_duration, TTL_COL prop_name edge_type_name指定修改的Edge type名称一次只能修改一个Edge type可以在一个ALTER TAG语句中使用多个ADD、DROP和CHANGE用,分割⚡当使用CHANGE修改属性的数据类型时 仅允许修改FIXED_STRING和INT类型的长度为更大的长度不允许减少长度仅允许修改FIXED_STRING类型为STRING类型、修改FLOAT类型为DOUBLE类型确保要修改的属性不包含索引否则ALTER EDGE时会报冲突错误[ERROR (-1005)]: Conflict!。删除索引请参见 drop index确保新增的属性名不与已存在或被删除的属性名同名 示例 CREATE EDGE IF NOT EXISTS e1(p1 string, p2 int);ALTER EDGE e1 ADD (p3 int, p4 string); ALTER EDGE e1 TTL_DURATION 2, TTL_COL p2; ALTER EDGE e1 COMMENT edge1; 4. 其他 # 查询当前图空间中全部Edge type SHOW EDGES;# 显示指定Edge type信息 DESC[RIBE] EDGE edge_type_name (四) 点 1. 插入Vertex 一次可以在指定图空间插入一个或多个点 INSERT VERTEX [IF NOT EXISTS] [tag_props, [tag_props] ...] VALUES VID: ([prop_value_list])tag_props:tag_name ([prop_name_list])prop_name_list:[prop_name [, prop_name] ...]prop_value_list:[prop_value [, prop_value] ...] IF NOT EXISTS仅检测VID Tag的值是否相同不会检测属性值并且会先读取一次数据是否存在因此对性能会有明显影响tag_name*点关联的Tag一个点可以关联多个Tagvid*点ID在3.6.0中支持字符串和整数需要在创建图空间时设置prop_name需要设置的属性名称prop_value根据prop_name_list填写的属性值 示例 # 创建示例图中Values INSERT VERTEX player (name, age) VALUES player102: (LaMarcus Aldperties, 33), player101: (Tony, 36), player100: (Tim, 42); INSERT VERTEX team (name) VALUES team201: (Nuggets), team200: (Warriors);# 一次插入两个 Tag 的属性到同一个点。 INSERT VERTEX t3 (p1), t4(p2) VALUES 21: (321, hello);# 多次插入属性值以最后一次为准 INSERT VERTEX t2 (name, age) VALUES 11:(n3, 14); INSERT VERTEX t2 (name, age) VALUES 11:(n4, 15); ----------------------- | properties(VERTEX) | ----------------------- | {age: 15, name: n4} | -----------------------# 插入超长值后会被截断 CREATE TAG IF NOT EXISTS t5(p1 fixed_string(5) NOT NULL, p2 int, p3 int DEFAULT NULL); INSERT VERTEX t5(p1, p2) VALUES 004:(shalalalala, 4); ------------------------------------ | properties(VERTEX) | ------------------------------------ | {p1: shala, p2: 4, p3: __NULL__} | ------------------------------------ 2. 删除Vertex DELETE VERTEX vid [ , vid ... ] [WITH EDGE]; 一次可以删除一个或多个点可结合管道符使用。2.X默认删除点及关联边3.6.0默认只删除点WITH EDGE删除该点关联的出边和入边否则会存在悬挂边 示例 # 删除 VID 为 team1 的点不删除该点关联的出边和入边。 DELETE VERTEX team1;# 删除 VID 为 team1 的点并删除该点关联的出边和入边。 DELETE VERTEX team1 WITH EDGE;# 结合管道符删除符合条件的点。 GO FROM player100 OVER serve WHERE properties(edge).start_year 2021 YIELD dst(edge) AS id | DELETE VERTEX $-.id; GO FROM player100 OVER serve从起始顶点 player100 出发沿着 serve 这个边类型进行遍历WHERE properties(edge).start_year 2021提取其属性中 start_year 字段值为 2021 的边YIELD dst(edge) AS id从满足条件的边中提取目标顶点dst(edge)ID并将这些ID赋值给变量id| DELETE VERTEX $-.id使用管道符引用变量id删除满足条件的顶点 3. 更新Vertex 一次只能针对一个Tag UPDATE VERTEX ON tag_name vid SET update_prop [WHEN condition] [YIELD output] tag_name*指定点的Tagvid*点IDupdate_prop*指定如何修改属性值condition指定过滤条件output指定语句的输出格式 示例 # 查看点”player101“的属性。 FETCH PROP ON player player101 YIELD properties(vertex); -------------------------------- | properties(VERTEX) | -------------------------------- | {age: 36, name: Tony} | --------------------------------# 修改属性 age 的值并返回 name 和新的 age。 UPDATE VERTEX ON player player101 SET age age 2 WHEN name Tony Parker YIELD name AS Name, age AS Age; -------------------- | Name | Age | -------------------- | Tony | 38 | -------------------- 4. 插入或更新Vertex 插入或更新点属性如果点存在则修改点属性否则插入新的点 一次只能针对一个Tag UPSERT VERTEX性能远低于INSERT因为UPSERT是一组分片级别的读取、修改、写入操作 ⚡并发UPSERT同一个TAG或EDGE TYPE会报错 UPSERT VERTEX ON tag vid SET update_prop [WHEN condition] [YIELD output] tag*指定点的Tagvid*点IDupdate_prop*指定如何修改属性值condition指定过滤条件output指定语句的输出格式 示例 # 查看点是否存在结果 “Empty set” 表示顶点不存在。 FETCH PROP ON * player666 YIELD properties(vertex); -------------------- | properties(VERTEX) | -------------------- -------------------- Empty setUPSERT VERTEX ON player player666 SET age 30, name Joe YIELD name AS Name, age AS Age; -------------------- | Name | Age | -------------------- | Joe | 30 | --------------------# 修改已存在的点查看点player101的属性。 FETCH PROP ON player player101 YIELD properties(vertex); -------------------------------- | properties(VERTEX) | -------------------------------- | {age: 38, name: Tony} | -------------------------------- UPSERT VERTEX ON player player101 SET name Tony Parker YIELD name AS Name, age AS Age; -------------------- | Name | Age | -------------------- | Tony Parker | 38 | -------------------- (五) 边 1. 插入Edge 一次可以在指定图空间插入一条或多条边边是有方向的从起始点src_vid到目的点dst_vid 为覆盖式插入。如果已有 Edge type、起点、终点、rank 都相同的边则覆盖原边。 INSERT EDGE [IF NOT EXISTS] edge_type ( prop_name_list ) VALUES src_vid - dst_vid[rank] : ( prop_value_list ) [, src_vid - dst_vid[rank] : ( prop_value_list ), ...];prop_name_list :[ prop_name [, prop_name ] ...]prop_value_list :[ prop_value [, prop_value ] ...] IF NOT EXISTS仅检测edge_type src_vid dst_vid rank的值是否相同不会检测属性值并且会先读取一次数据是否存在因此对性能会有明显影响edge_name*边关联的Edge type一个边只能指定一个Edge typesrc_vid*起始点IDdst_vid*目的点IDrank边的rank排名值默认为0prop_name_list需要设置的属性名称列表prop_value_list根据prop_name_list填写的属性值 示例 # 创建示例图中Values INSERT EDGE follow (degree) VALUES player102 - player101: (75), player100 - player102: (90), player100 - player101: (95); INSERT EDGE serve (start_year, end_year) VALUES player100 - team200: (1997, 2016), player101 - team201: (1999, 2018);# 插入 rank 为 1 的边。 INSERT EDGE e1 () VALUES 10-111:(); # 多次插入属性值。 nebula INSERT EDGE e2 (name, age) VALUES 11-13:(n1, 13); nebula INSERT EDGE e2 (name, age) VALUES 11-13:(n1, 14); nebula FETCH PROP ON e2 11-13 YIELD edge AS e; ------------------------------------------- | e | ------------------------------------------- | [:e2 11-13 0 {age: 14, name: n1}] | -------------------------------------------2. 删除Edge DELETE EDGE edge_type src_vid - dst_vid[rank] [, src_vid - dst_vid[rank] ...] 一次可以删除一条或多条边可结合管道符使用如何需要删除一个点的所有出边请删除这个点详见删除Vertex⚡如果不指定rank则仅删除rank为0的边需要删除所有的 rank见如下示例。 示例 # 删除单条边 DELETE EDGE serve player100 - team204;# 结合管道符删除两点之间同类型的所有rank的边。 GO FROM player100 OVER follow WHERE dst(edge) player101 YIELD src(edge) AS src, dst(edge) AS dst, rank(edge) AS rank | DELETE EDGE follow $-.src - $-.dst $-.rank; GO FROM player100 OVER follow WHERE dst(edge) player101从开始节点player100遍历目标节点为player101的follow类型的边YIELD src(edge) AS src, dst(edge) AS dst, rank(edge) AS rank返回遍历结果并赋值变量| DELETE EDGE follow $-.src - $-.dst $-.rank使用管道符引用变量删除满足条件的全部边 3. 更新Edge UPDATE EDGE ON edge_type src_vid - dst_vid [rank] SET update_prop [WHEN condition] [YIELD output] edge_type*指定边的Edge typesrc_vid*边的起始IDdst_vid*边的目的IDrank边的rank排名值update_prop*指定如何修改属性值condition指定过滤条件output指定语句的输出格式 示例 # 用 GO 语句查看边的属性值。 GO FROM player100 OVER serve YIELD properties(edge).start_year, properties(edge).end_year; -------------------------------------------------------- | properties(EDGE).start_year | properties(EDGE).end_year | -------------------------------------------------------- | 1997 | 2016 | --------------------------------------------------------# 修改属性 start_year 的值并返回 end_year 和新的 start_year。 UPDATE EDGE ON serve player100 - team2000 SET start_year start_year 1 WHEN end_year 2010 YIELD start_year, end_year; ---------------------- | start_year | end_year | ---------------------- | 1998 | 2016 | ---------------------- 4. 插入或更新Edge 插入或更新边属性如果边存在则修改边属性否则插入新的边 UPSERT EDGE性能远低于INSERT因为UPSERT是一组分片级别的读取、修改、写入操作 ⚡并发UPSERT同一个TAG或EDGE TYPE会报错 UPSERT EDGE ON edge_type src_vid - dst_vid [rank] SET update_prop [WHEN condition] [YIELD properties] edge_type*指定边的Edge typesrc_vid*边的起始IDdst_vid*边的目的IDrank边的rank排名值update_prop*指定如何修改属性值condition指定过滤条件output指定语句的输出格式 示例 # 查看点是否有 serve 类型的出边结果 “Empty set” 表示没有 serve 类型的出边。 GO FROM player666 OVER serve YIELD properties(edge).start_year, properties(edge).end_year; -------------------------------------------------------- | properties(EDGE).start_year | properties(EDGE).end_year | -------------------------------------------------------- -------------------------------------------------------- Empty setUPSERT EDGE on serve player666 - team200 SET start_year 2020, end_year 2021 YIELD start_year, end_year; ---------------------- | start_year | end_year | ---------------------- | 2020 | 2021 | ---------------------- (六) 作业管理 1. 支持的作业 SUBMIT JOB STATS 对当前图空间进行统计 其他作业操作详见官方文档 2. 查看作业 查看单个作业运行详情 SHOW JOB job_id; 参数 说明 Job Id(TaskId) 第一行显示作业 ID最后一行显示作业相关的任务总数其他行显示作业相关的任务 ID。 Command(Dest) 第一行显示执行的作业命令名称最后一行显示作业相关的成功的任务数。其他行显示任务对应的 nebula-storaged 进程。 Status 显示作业或任务的状态最后一行显示作业相关的失败的任务数。详情请参见作业状态。 Start Time 显示作业或任务开始执行的时间最后一行显示作业相关的正在进行的任务数。 Stop Time 显示作业或任务结束执行的时间结束后的状态包括FINISHED、FAILED或STOPPED。 Error Code 显示作业或任务的错误码。 状态说明 状态 说明 QUEUE 作业或任务在等待队列中。此阶段Start Time为空。 RUNNING 作业或任务在执行中。Start Time为该阶段的起始时间。 FINISHED 作业或任务成功完成。Stop Time为该阶段的起始时间。 FAILED 作业或任务失败。Stop Time为该阶段的起始时间。 STOPPED 作业或任务停止。Stop Time为该阶段的起始时间。 REMOVED 作业或任务被删除。 查看作业列表 SHOW JOBS; 3. 停止作业 STOP JOB job_id; 4. 重新执行作业 RECOVER JOB [job_id]; 重新执行当前图空间内状态为FAILED、STOPPED的作业未指定job_id时会从最早的作业开始尝试重新执行 5. FAQ 如何排查作业问题 SUBMIT JOB操作使用的是HTTP端口请检查Storage服务机器上的HTTP端口是否正常工作。可以执行如下命令调试 curl http://{storaged-ip}:19779/admin?space{space_name}opcompact 三、查询 查询当前图空间中全部点 MATCH (v) RETURN v; 查询当前图空间中全部点和边 MATCH ()-[e]-() RETURN e;
http://www.pierceye.com/news/48677/

相关文章:

  • 不用关网站备案可视化app开发工具安卓版
  • 杭州手机网站中山公众号平台商场网站建设
  • app开发与网站开发有何不同专业手机网站怎么做
  • 锦州哪家做网站wordpress 转换成帝国
  • 网站技能培训机构专门做项目代理的网站
  • win10做网站服务器附近男科医院在哪里
  • 网站开发技术方案模板卖游戏辅助的网站怎么建设
  • 商务网站建设体会企业网站的建设费用
  • 龙岗外贸网站建设cms智能云平台
  • 抄袭的网站wordpress 导入分类
  • 找到做网站的公司鄱阳做网站
  • 网站项目接单小程序商城货源怎么找
  • 网站建设的基本要素有秦皇岛建设网招聘
  • 如何使用qq空间做推广网站正规seo关键词排名哪家专业
  • 苏州网站建设情况网页广告关不掉怎么办
  • 微信做单页的网站软件开发公司职位介绍
  • 上海建筑网站设计做旅游游客产品的网站
  • 长清网站建设价格越城网站建设公司
  • 淮安建设网站网站织梦后台怎么做
  • 安徽省建设厅网站首页网页设计模板 中文
  • 品牌网站设计图片怎么做淘宝联盟网站
  • 广州pc网站建设连锁网站开发
  • 营销型企业网站 网络服务百业网免费发布信息
  • 重庆公司网站建设步骤有没有免费的网站服务器
  • 有什么做服装的网站吗抖音代运营介绍
  • 做产品宣传网站多少钱wordpress网站搭建教程视频
  • 湛江专业自助建站详情个人网站源代码html
  • 网站建设备案哪家好网站站内链接
  • 网站建设完成情况石家庄网页制作设计营销
  • 打开这个网站你会回来感谢我的中山论坛建站模板