美文网首页
01 知识图谱基础

01 知识图谱基础

作者: 武漂的小丙 | 来源:发表于2019-10-25 10:44 被阅读0次

    1 基本概念

    • 图形是一组节点和连接这些节点的关系
      • 图形以属性的形式将数据存储在节点和关系中;
      • 属性是用于表示数据的键值对;
    • 图库的主要作用:
      • 主要用于存储更多的连接数据;
      • RDBMS存储更多连接的数据,不能提供用于遍历大量数据的适当性能;在这情况下,Graph Database提高了应用程序性能;
    • 在图形理论中,我们可以表示一个带有圆的节点,节点之间的关系用一个箭头标记表示
      • 单个节点:不包含任何属性
    1567565195539.png
    • 带有属性的节点:属性是一个名称:值对
    1567565223340.png
    • 两个节点之间创建关系:
    1567565244714.png
    • 节点关系:
    1567565280118.png
    • 单向关系:ABC到PQR
    • 双向关系: ABC到XYZ

    2 数据模型

    2.1 属性图模型规则

    • 表示节点,关系和属性中的数据
    • 节点和关系都包含属性
    • 关系连接节点
    • 属性是键值对
    • 节点用圆圈表示,关系用方向键表示
    • 关系具有方向:单向和双向。
    • 每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”

    Neo4j图数据库需要注意的事项:

    1. “关系应该是方向性的”:在属性图数据模型中,关系应该是定向的。如果我们尝试创建没有方向的关系,那么它将抛出一个错误消息;
    2. 将其所有数据存储在节点和关系中。不需要任何额外的RRBMS数据库或无SQL数据库来存储Neo4j数据库数据。它以图形的形式存储其数据的本机格式;
    3. 本机GPE(图形处理引擎)引擎来使用它的本机图存储格式

    2.2 主要构建模块

    • 节点
    • 关系
    • 属性
    1567565602658.png

    这里我们使用圆圈表示节点。 使用箭头的关系。 关系是有方向性的。 我们可以用Properties(键值对)来表示Node的数据。 在这个例子中,我们在Node的Circle中表示了每个Node的Id属性。

    3 Neo4j 特点和优势

    3.1 特点

    • SQL就像简单的查询语言Neo4j CQL
    • 它遵循属性图数据模型
    • 它通过使用Apache Lucence支持索引
    • 它支持UNIQUE约束
    • 它包含一个用于执行CQL命令的UI:Neo4j数据浏览器
    • 它支持完整的ACID(原子性,一致性,隔离性和持久性)规则
    • 它采用原生图形库与本地GPE(图形处理引擎)
    • 它支持查询的数据导出到JSON和XLS格式
    • 它提供了REST API,可以被任何编程语言(如Java,Spring,Scala等)访问
    • 它提供了可以通过任何UI MVC框架(如Node JS)访问的Java脚本
    • 它支持两种Java API:Cypher API和Native Java API来开发Java应用程序

    3.2 优点

    • 它很容易表示连接的数据
    • 检索/遍历/导航更多的连接数据是非常容易和快速的
    • 它非常容易地表示半结构化数据
    • Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习
    • 它使用简单而强大的数据模型
    • 它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引

    3.3 缺点或限制

    • AS的Neo4j 2.1.3最新版本,它具有支持节点数,关系和属性的限制。
    • 它不支持Sharding。

    4 Neo4j构建模块

    Neo4j主要有以下构建模块:

    • 节点:图标的基本单位,具有键值对的属性
      • 如下是Node Name = “Employee”, 包含一组属性作为键值对
    1567578611502.png
    • 属性:描述图节点和关系的键值对

      • Key = 值
      • Key是字符串
      • 值可以用任意Neo4j数据类型表示
    • 关系:另一个主要构建块。 它连接两个节点

      • Emp和Dept是两个不同的节点
      • WORKS_FOR”是Emp和Dept节点之间的关系
      • 从Emp到Dept的箭头标记
      • 每个关系包含一个起始节点和一个结束节点,这里“Emp”是一个起始节点,Dept”是结束节点。
      • 由于该关系箭头标记表示从“Emp”节点到“Dept”节点的关系,该关系被称为“进入关系”到“Dept”节点
      • 像节点一样,关系也可以包含属性作为键值对。
      • 这里的“WORKS_FOR”关系有一个属性作为键值对,它代表了这种关系的一个ID。
    1567578987039.png
    • 标签:

      • 将一个公共名称与一组节点或关系相关联
      • 节点或关系可以包含一个或多个标签
      • 可以为现有节点或关系创建新标签
      • 可以从现有节点或关系中删除现有标签
      • 从上图可以观察到:左侧节点都有一个标签:“EMP”,而右侧节点都有一个标签:“Dept”。
      • 两个节点之间的关系,也有一个标签:“WORKS_FOR”
    • 数据浏览器:

      • 访问链接:http://localhost:7474/browser/
      • Neo4j数据浏览器用于执行CQL命令并查看输出输出
      • 在美元符号后键入命令,然后单击“执行”按钮运行命令
      • 与Neo4j数据库服务器交互
      • 使用“VI视图”按钮以图形格式查看结果。 以“UI视图”格式显示结果。
      • 使用“网格视图”按钮在网格视图中查看结果
        • CSV
        • JSON

    相关文章

      网友评论

          本文标题:01 知识图谱基础

          本文链接:https://www.haomeiwen.com/subject/gyrdyctx.html