知识图谱——知识图谱简介及neo4j的安装与入门小例子

一、知识图谱(Knowledge Graph)

  1. 含义
    在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。
  2. 发展历史
    在这里插入图片描述
  3. 目标
    知识图谱主要目标是用来描述真实世界中存在的各种实体和概念,以及他们之间的强关系,我们用关系去描述两个实体之间的关联。
  4. 表示形式
    在知识图谱中,我们用RDF形式化地表示这种三元关系。
    RDF(Resource Description Framework),即资源描述框架,是W3C制定的,用于描述实体/资源的标准数据模型。
    RDF图中一共有三种类型,International Resource Identifiers(IRIs),blank nodes 和 literals。
  5. 典型应用领域
    信息检索:搜索引擎中对实体信息的精准聚合和匹配、对关键词的理解以及对搜索意图的语义分析等。
    自然语言理解:知识图谱中的知识作为理解自然语言中实体和关系的背景信息。
    问答系统:匹配问答模式和知识图谱中知识子图之间的映射。
    推荐系统:将知识图谱作为一种辅助信息集成到推荐系统中以提供更加精准的推荐选项。
    电子商务:构建商品知识图谱来精准地匹配用户的购买意愿和商品候选集合。
    金融风控:利用实体之间的关系来分析金融活动的风险以提供在风险触发后的补救措施。
    公安刑侦:分析实体和实体之间的关系以获得线索等。
    司法辅助:法律条文的结构化表示和查询来辅助案件的判决等。
    教育医疗:提供可视化的知识表示,用于药物分析、疾病诊断等。
  6. 知识存储
    分为两种存储: 1. 基于RDF的存储 2. 基于图数据库的存储
    在这里插入图片描述

二、neo4j的安装

  1. 官网下载安装包
    https://neo4j.com/download-center/#community
    在这里插入图片描述

  2. 参考官网步骤,安装配置jdk和neo4j的环境变量
    在这里插入图片描述

  3. 打开cmd,输入命令启动neo4j

    neo4j.bat console
    

    在这里插入图片描述

  4. 浏览器输入 http://localhost:7474/ 即可进入
    注:首次登录的用户名和密码均为neo4j,登陆后需要修改密码

三、neo4j创建一个简单的股票知识图谱

  1. 建立几只股票节点

    # 创建节点的Cypher命令
    create(Variable:Lable{Key1:Value1,Key2:Value2}) return Variable
    # 单个创建
    create(n:Stock{name:'安琪酵母',code:'600298',launchDate:date("2000-08-18")}) return n
    # 多个创建
    create(n:Stock{name:'招商银行',code:'600036',launchDate:date("2002-04-09")}),
    (:Stock{name:'中科创达',code:'300496',launchDate:date("2015-12-10")}),
    (:Stock{name:'华工科技',code:'000988',launchDate:date("2000-06-08")}),
    (:Stock{name:'国信证券',code:'002736',launchDate:date("2014-12-29")})
    
  2. 建立两个证券交易所节点

    create(n:SecuritiesExchange{name:'上海证券交易所'}),
    (:SecuritiesExchange{name:'深圳证券交易所'}) return n
    
  3. 建立省市名称节点

    create(n:Province{name:'湖北'}),(:Province{name:'北京'}),(:Province{name:'广东'})
    
  4. 建立股票和交易所的关系

    match(a:Stock),(b:SecuritiesExchange) where a.name='安琪酵母' and b.name='上海证券交易所' 
    create (a)-[r:Exchange]->(b) return r
    
    match(a:Stock),(b:SecuritiesExchange) where a.name='华工科技' and b.name='深圳证券交易所' 
    create (a)-[r:Exchange]->(b) return r
    
  5. 建立股票和省市名称的关系

    match(a:Stock),(b:Province) where a.name='安琪酵母' and b.name='湖北' 
    create (a)-[r:Area]->(b) return r
    
    
    match(a:Stock),(b:Province) where a.name='华工科技' and b.name='湖北' 
    create (a)-[r:Area]->(b) return r
    
  6. 结果展示
    在这里插入图片描述

  7. 查询某个股票的节点

    match(a:Stock) where a.name='安琪酵母' return a
    

    双击节点可得
    在这里插入图片描述

  8. 查询某个标签的所有节点

    match(a:Stock)  return a
    
  9. 通过函数type获取关系的类型

    match(:Stock{name:'安琪酵母'})-[r]->() return type(r)
    

    在这里插入图片描述

参考:
https://www.bilibili.com/video/BV1Nz411q7bG
https://www.bilibili.com/video/BV13K4y187b4

猜你喜欢

转载自blog.csdn.net/narutodzx/article/details/106233935