OrientDB在知识图谱中的应用(一)
来源:互联网 发布:手机维修o2o源码 编辑:程序博客网 时间:2024/06/01 10:44
以笑傲江湖(SwordsMan)中简单的人物关系为例,描述如何利用orientDB图数据库表达构建知识图谱
这里默认大家都是了解OrientDB基本语法,了解NoSql和图形数据库的小伙伴,不了解的可以自行查阅资料。废话不多说,我们开始吧。
创建一个名为SwordsMan的数据库:
create database plocal:/home/wangtd/local/orientdb/databases/SwordsMan#登录操作connect plocal:/home/wangtd/local/orientdb/databases/SwordsMan admin admin
实体/关系梳理
我们假定一个简单的实体、关系模型,其中包括点(Vertex)和边(Edge),这两种类型是OrientDB中图数据库的重要类型。
- 实体:
人物(令狐冲,岳不群,宁中则,任盈盈)
教派(华山派,日月神教)
功夫(华山剑法,独孤九剑,玉女十三剑)- 关系:情侣,师徒,门徒,技能
创建类对象
create class Person extends Vcreate class Group extends Vcreate class KungFu extends Vcreate class Lover extends Ecreate class Student extends Ecreate class Teacher extends Ecreate class Disciple extends Ecreate class Skill extends E
创建Vertex/Edge
创建基本实体
create vertex Person set name="令狐冲",sex="男",age="25",group="华山派",kungfu="独孤九剑"create vertex Person set name="任盈盈",sex="女",age="18",group="日月神教",kungfu="长经双刀"create edge Lover from(select from Person where name="令狐冲") to (select from Person where name="任盈盈")create edge Lover from(select from Person where name="任盈盈") to (select from Person where name="令狐冲")create vertex Person set name="岳不群",sex="男",age="40",group="华山派",kungfu="辟邪剑谱"create vertex Person set name="宁中则",sex="女",age="35",group="华山派",kungfu="玉女十三剑"create edge Lover from(select from Person where name="岳不群") to (select from Person where name="宁中则")create edge Lover from(select from Person where name="宁中则") to (select from Person where name="岳不群")
创建边关系
create vertex Group set name="华山派",addr="华山"create vertex Group set name="日月神教",addr="黑木崖"create edge Disciple from(select from Person where group="华山派") to (select from Group where name="华山派")create edge Disciple from(select from Person where group="日月神教") to (select from Group where name="日月神教")create edge Teacher from(select from Person where name="令狐冲") to(select from Person where name="岳不群")create edge Teacher from(select from Person where name="令狐冲") to(select from Person where name="宁中则")create edge Student from(select from Person where name="岳不群") to(select from Person where name="令狐冲")create edge Student from(select from Person where name="宁中则") to(select from Person where name="令狐冲")
更新/维护关系
create vertex KungFu set name="华山剑法"create vertex KungFu set name="玉女十三剑"create vertex KungFu set name="长经双剑"create edge Skill from(select from Person where name="令狐冲") to(select from KungFu where name="华山剑法")create edge Skill from(select from Person where name="岳不群") to(select from KungFu where name="华山剑法")create edge Skill from(select from Person where name="宁中则") to(select from KungFu where name="玉女十三剑")create edge Skill from(select from Person where name="任盈盈") to(select from KungFu where name="长经双剑")
体会
- 因为orientDB本身支持sql语法,所以数据的增删改查比较方便
- 图数据库重要的两种类型Vertex和Edge
- 构建知识图谱前,要先定义Vertex和Edge的对象,要确定出Vertex的类型有哪些,Edge的类型有哪些
- 图谱关系是以In/Out代表的双向关系,一条边定义了有向的出度和入度
方向
图谱的构建是最基础的一步,在图谱构建之后:
- 完善图谱
- 使用java api query
- 达到知识图谱应用的效果
0 0
- OrientDB在知识图谱中的应用(一)
- 知识图谱的应用
- 知识图谱的应用
- 知识图谱的应用
- 知识图谱的应用
- 知识图谱的应用
- Java 入门(一)--Java知识图谱
- 【AI-CPS OS】重磅:知识图谱在MRO工业品电商平台产品库标准化中的实际应用
- 知识图谱中的知识表示学习(Representation Learning)
- 知识图谱学习之存储与查询(一 )
- 知识图谱关键技术及行业应用解读
- ##好好好####知识图谱的应用#######
- 漆桂林 | 知识图谱的应用
- 知识图谱技术在司法领域的应用:国双科技的探索与技术分享
- 知识图谱(knowledge graph)
- 知识图谱学习(二)
- 一.PHP知识图谱——CSDN
- 基于知识图谱的电影自动问答系统(一)知识的获取与存储
- SQL-更新某一字段的值同时除以10【MySQL】
- Office——Excel-VBA学习——进阶
- hadoop distcp
- Android——TextView实现跑马灯效果
- iOS10跳转系统设置的正确姿势
- OrientDB在知识图谱中的应用(一)
- 发送短信验证码
- 九九乘法表和1到10的阶乘和
- VI-个人常用vi命令(持续更新中...)
- java中+=和=的区别
- C++拷贝引用构造函数
- 读书笔记-装饰模式
- javaweb登录验证码的实现
- Problem