您的位置:首页 > 数据库

orientdb做图数据库的脚本命令

2016-04-07 20:32 190 查看
实际上,orientdb作为图数据库他的底层同样是依赖文档数据库的,本文章原本是用来讲解图数据库的,但由于还有很多陌生的命令所以先熟悉一下操作Orientdb的命令。
图数据库的图操作命令:
create class Friend extends E  //create the new  relationship "Friend" to connect people. (Edage)
create edage Friend from #11:0 to #11:2  //create the new relationship to connect #11:0 to #11:2. (@RID)

select expand( both('Friend') ) from Person where name = 'Luca'

create vertex V set name = 'Jay' //创建顶点并设置顶点的name属性为Jay

ALTER DATABASE CUSTOM useLightweightEdges=false //disable Lightweight Edage

create class Person extends V //创建点类型的person类
create class Car extends V 创建点类型的Car
create class Owns extends E 创建边类型的Owns
create vertex Person set name = 'Luca' 创建Person并设置name属性的值
create vertex Car set name = 'Ferrari Modena' 创建Car并设置name属性的值
#create edge Owns from (select from Person) to (select from Car) 创建边的关系是从Person到Car (创建两Class所有的数据相互映射,这种产生笛卡尔积)

create edge Owns from (select from Person where name = 'Luca') to (select from Car where name = 'Ferrari Modena') 创建边的关系是从Person到Car (这种不产生笛卡尔积)

select expand( out('Owns') ) from Person where name = 'Luca'  通过点边关系查询出name为Luca对应的Car的值
select name from ( select expand( out('Owns') ) from Person where name = 'Luca' ) 查询输出顶点属性name的值
select out().name from ( select expand( out('Owns') ) from Person where name = 'Luca' ) 查询输出顶点属性name的值

select in().name from ( select expand( out('Owns') ) from Person where name = 'Luca' ) 查询输入顶点属性name的值

select @RID from ( select expand( out('Owns') ) from Person where name = 'Luca' ) 查询边@RID的值

create class Country extends V  创建Country的顶点Class
create class Lives extends E 创建lives边的Class
create vertex Country set name = 'UK' 创建并设置name属性
create edge Lives from (select from Person) to (select from Country) 创建点边关系

create property Owns.out LINK Person 创建关联Person的属性
create property Owns.in LINK Car 创建关联Car的属性

select name from ( select expand( in('Owns').out('Lives') ) from Car where name like '%Ferrari%  通过模糊匹配查询

alter property Owns.out MANDATORY=true; 

alter property Owns.in MANDATORY=true;

设置MANDATORY属性为true 可以使Owns变为轻量级的边,不会创建物理文档,(这样的做法必然需要消耗时间而减少空间)【需要验证】

create index UniqueOwns on Owns(out,in) unique 创建一个唯一索引 

 原因是因为上面创建了一种点边关系create edge Owns from (select from Person) to (select from Car)   此时应该先删除掉

delete edge Owns from #16:0 to #17:0 删除边

delete edge Owns where @rid='#18:0'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: