http://gog.orientdb.com/index.html#/infotab

小朱25岁,出生在教师家庭并且有个姐姐小田,他现在奋斗在帝都。 

那么SQL是这样滴!!!

CREATE VERTEX V SET name="小朱",sex="男",age="25";

CREATE VERTEX V SET name="小田",sex="女",age="27";

CREATE EDGE E FROM #9:0 TO #10:0 SET name="sisiter";

CREATE EDGE E FROM #10:0 TO #9:0 SET name="brother";

Select  from V where name in ['小朱',"小田"];

* select 在 Graph 页面查询会自动渲染出关系结果

小朱还有一个可爱的女盆友叫小刘

CREATE VERTEX V SET name="小刘",sex="女",age="23";

CREATE EDGE E FROM #9:0 TO #11:0 SET name="lover";

CREATE EDGE E FROM #11:0 TO #9:0 SET name="lover";

小朱目前工作在企业ABC,他有一堆同事小马、小龚、小微…..

CREATE VERTEX V SET name="ABC";

CREATE VERTEX V SET name="小马",sex="男",age="29",company="ABC";

CREATE VERTEX V SET name="小龚",sex="男",age="28",company="ABC";

CREATE VERTEX V SET name="小微",sex="女",age="24",company="ABC";

UPDATE V SET company = 'ABC' WHERE name='小朱'

CREATE EDGE E FROM (select from V where company='ABC') TO (select from V where name ='ABC') SET name="employee";

小朱目前跟不同同事合作完成了如下项目:PROJECT-1,PROJECT-2,PROJECT-3…..

CREATE VERTEX V SET name="PROJECT-1",type='JAVA',starttime='2016/01/01';

CREATE VERTEX V SET name="PROJECT-2",type='JAVA',starttime='2016/01/01';

CREATE VERTEX V SET name="PROJECT-3",type='JAVA',starttime='2016/01/01';

CREATE EDGE E FROM (select from V where name in ['小朱','小马','小微']) TO (select from v where name='PROJECT-1') SET name="work";

CREATE EDGE E FROM (select from V where name in ['小朱','小马','小微','小龚']) TO (select from v where name='PROJECT-2') SET name="work";

CREATE EDGE E FROM (select from V where name in ['小朱','小马','小龚']) TO (select from v where name='PROJECT-3') SET name="work";

以上描述中,所有点和边缘均继承祖先V、E对象,不能方便的通过语句进行筛选,不推荐直接创建V、E记录。

改造以上实例,用不同的关系对象表示

上图出现了两种对象(公司,人,项目)……划分规则,看心情 

有5类关系(情侣,姐,弟,雇员,合作) 

莫名其妙有了V{Company,Preson,Project},E{Lover,sisiter,brother,employee,work}

CREATE CLASS Company
EXTENDS V;

CREATE CLASS Project
EXTENDS V;

CREATE CLASS Preson
EXTENDS V;

CREATE CLASS Lover
EXTENDS E;

CREATE CLASS Sisiter
EXTENDS E;

CREATE CLASS Brother
EXTENDS E;

CREATE CLASS Employee
EXTENDS E;

CREATE CLASS Work EXTENDS E;

CREATE VERTEX Preson SET name="小朱",sex="男",age="25",company="Lianjia";

CREATE VERTEX Preson SET name="小刘",sex="女",age="23";

CREATE VERTEX Preson SET name="小田",sex="女",age="27";

CREATE VERTEX Company SET name="Lianjia";

CREATE VERTEX Preson SET name="小马",sex="男",age="29",company="Lianjia";

CREATE VERTEX Preson SET name="小龚",sex="男",age="28",company="Lianjia";

CREATE VERTEX Preson SET name="小微",sex="女",age="24",company="Lianjia";

CREATE VERTEX Project SET name="PROJECT-1",type='JAVA',starttime='2016/01/01';

CREATE VERTEX Project SET name="PROJECT-2",type='JAVA',starttime='2016/01/01';

CREATE VERTEX Project SET name="PROJECT-3",type='JAVA',starttime='2016/01/01';

#把以前的顶点移动到每个具体的类别

#MOVE VERTEX(SELECT FROM V WHERE name='ABC') TO CLASS:Company;

#创建情侣关系

CREATE EDGE Lover FROM (select from Preson where name='小朱') TO (select from Preson where name='小刘');

CREATE EDGE Lover FROM (select from Preson where name='小刘') TO (select from Preson where name='小朱');

#创建姐弟关系

CREATE EDGE Sisiter FROM (select from Preson where name='小朱') TO (select from Preson where name='小田');

CREATE EDGE Brother FROM (select from Preson where name='小田') TO (select from Preson where name='小朱');

#创建雇佣关系

CREATE EDGE Employee FROM (select from Preson where company='Lianjia') TO (select from Company where name ='Lianjia');

#创建项目关系

CREATE EDGE Work FROM (select from Preson where name in ['小朱','小马','小微']) TO (select from Project where name='PROJECT-1');

CREATE EDGE Work FROM (select from Preson where name in ['小朱','小马','小微','小龚']) TO (select from Project where name='PROJECT-2');

CREATE EDGE Work FROM (select from Preson where name in ['小朱','小马','小龚']) TO (select from Project where name='PROJECT-3');

 

图数据库orientDB(1-2)例子的更多相关文章

  1. 图数据库orientDB(1-1)SQL基本操作

    SQL基本操作 1.新增VerTex CREATE VERTEX V SET name="user01",sex="M",age="25"; ...

  2. 主流图数据库Neo4J、ArangoDB、OrientDB综合对比:架构分析

    主流图数据库Neo4J.ArangoDB.OrientDB综合对比:架构分析 YOTOY 关注 0.4 2017.06.15 15:11* 字数 3733 阅读 16430评论 2喜欢 18 1: 本 ...

  3. Neo4j图数据库简介和底层原理

    现实中很多数据都是用图来表达的,比如社交网络中人与人的关系.地图数据.或是基因信息等等.RDBMS并不适合表达这类数据,而且由于海量数据的存在,让其显得捉襟见肘.NoSQL数据库的兴起,很好地解决了海 ...

  4. 初识SQL Server2017 图数据库(一)

    背景: 图数据库对于表现和遍历复杂的实体之间关系是很有效果的.而这些在传统的关系型数据库中尤其是对于报表而言很难实现.如果把传统关系型数据库比做火车的话,那么到现在大数据时代,图数据库可比做高铁.它已 ...

  5. 开源软件:NoSql数据库 - 图数据库 Neo4j

    转载自原文地址:http://www.cnblogs.com/loveis715/p/5277051.html 最近我在用图形数据库来完成对一个初创项目的支持.在使用过程中觉得这种图形数据库实际上挺有 ...

  6. Cayley图数据库的简介及使用

    图数据库   在如今数据库群雄逐鹿的时代中,非关系型数据库(NoSQL)已经占据了半壁江山,而图数据库(Graph Database)更是攻城略地,成为其中的佼佼者.   所谓图数据库,它应用图理论( ...

  7. 图数据库项目DGraph的前世今生

    本文由云+社区发表 作者:ManishRai Jain 作者:ManishRai Jain Dgraph Labs创始人 版权声明:本文由腾讯云数据库产品团队整理,页面原始内容来自于db weekly ...

  8. 图数据库titan 和 rexster安装手册

    titan是图数据库, rexster是图显示服务 titan 安装 下载 titan 0.3.2 解压 titan-all-0.3.2.zip 到 /opt/hugedata/share/解压后得到 ...

  9. JanusGraph : 图和图数据库的简介

    JanusGraph:图数据库系统简介 图(graph)是<数据结构>课中第一次接触到的一个概念,它是一种用来描述现实世界中个体和个体之间网络关系的数据结构. 为了在计算机中存储图,< ...

随机推荐

  1. 精解Mat类(一):基本数据类型-固定大小的 矩阵类(Matx) 向量类(Vector)

    一.基础数据类型 1.(基础)固定大小矩阵类 matx 说明: ①    基础矩阵是我个人增加的描述,相对于Mat矩阵类(存储图像信息的大矩阵)而言. ②    固定大小矩阵类必须在编译期间就知晓其维 ...

  2. JS 装饰器解析

    随着 ES6 和 TypeScript 中类的引入,在某些场景需要在不改变原有类和类属性的基础上扩展些功能,这也是装饰器出现的原因. 装饰器简介 作为一种可以动态增删功能模块的模式(比如 redux ...

  3. doT.js——前端javascript模板引擎问题备忘录

    我手里维护的一个项目,遇到一个问题:原项目的开发人员在Javascript中,大量的拼接HTML,导致代码极丑,极难维护.他们怎么能够忍受的了这么丑陋.拙劣的代码呢,也许是他们的忍受力极强,压根就没想 ...

  4. setup命令的安装

    2018-03-01  10:25:18 最小化安装的Linux系统,setup命令使用不了 安装方法:yum install setuptool    #安装完以后,只要直接输入 setup,就会出 ...

  5. Filecoin挖矿进展

      预计Filecoin第一个版本发布最早在 2018.3月份(预计)   Protocol Labs这次ICO拿到了2.05亿美元,已经富得流油了,相信开发进度会快很多,Filecoin论文发表最早 ...

  6. 用JAVA进行Json数据解析(对象数组的相互嵌套)

    这段时间我们在做一个英语翻译软件的小小小APP,涉及到了对Json数据的解析,所以特地来总结一下! 假设我们要对如下数据进行解析,其实在平时,返回的Json数据是很乱的,很难分清数据的关系,这是经过相 ...

  7. 笔记:Struts2 的 JSON 插件

    安装插件,将其复制到Web应用的WEB-INF/lib 目录下 Struts2-json-plugin-2.3.16.3.jar json-lib-2.3-jdk15.jar commons-bean ...

  8. 利用spring AOP实现每个请求的日志输出

    前提条件: 除了spring相关jar包外,还需要引入aspectj包. <dependency> <groupId>org.aspectj</groupId> & ...

  9. .NET Core初体验 在window上构建第一个app

    ASP.NET Core 是一个跨平台,高性能的开源框架,用于构建现代化的,基于云的互联网应用程序.使用 ASP.NET Core ,您可以: 构建Web应用程序和服务,IoT应用程序和移动后端. 在 ...

  10. (译文)开始学习Vue——构建你的第一个Vue应用

    我们要构建如下组件:(最终代码在这里:https://codesandbox.io/s/38k1y8x375) 开始 Vue是支持单文件组件的,但是我们不准备这么做.你也可以构建一个全局的组件,通过V ...