Vue+Neovis+Neo4j展示知识图谱的demo,遇到的问题

这篇具有很好参考价值的文章主要介绍了Vue+Neovis+Neo4j展示知识图谱的demo,遇到的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目上需要在vue的界面上展示一下所做的知识图谱,看了很多工具,只是简单展示的话,Neovis这个库比较简单些。但是看了很多引用方式,有npm装包的,也有直接导入neovis.js的,安装包的时候也报了很多错,下面是自己尝试过后通的方法。

1. 我成功的方法

由于自己经过了很多尝试,既装了包,又放了文件在静态文件夹,就不知道到底哪个方法起作用,最终有了一个解决方法,直接引入npm的包,使用script标签,在index.html里面。
在vue中的index.html里面加入。不好的是,可能会不稳定,但是我用方法二有时候会失效,也可能是我的方法混了导致失效。

<script src="https://unpkg.com/neovis.js@2.0.2"></script>

知识图谱vue组件:

<template>
	<div>
	    <el-card class="box-card">
	      <div class="myDiv">
	        <el-row>
	            <p style="color:red;margin-left:20px;">!!!第一次进入页面请先点击获取样图按钮后,再进行搜索</p>
	        </el-row>
	        <el-form label-width="10%" :model="formInline" class="demo-form-inline">
	          <el-row>
	            <el-col :span="12">
	              <el-form-item label="Cypher:">
	                <el-select
	                    style="width: 300px"
	                    v-model="formInline.input"
	                    placeholder="选择搜索语句"
	                    filterable
	                    clearable>
	                    <el-option v-for="(item,index) in option"
	                        :key="index"
	                        :label="item.label"
	                        :value="item.value"></el-option>
	                </el-select>
	                <!-- <el-input type="textarea" :rows="2" v-model="formInline.input" placeholder="请输入内容"></el-input> -->
	              </el-form-item>
	            </el-col>
	            <el-col :span="6">
	              <el-form-item class="btn">
	                  <el-button :disabled="isClicked" type="primary" icon="el-icon-search" @click="submit">搜索</el-button>
	                  <el-button type="primary" icon="el-icon-check" @click="draw">获取样图</el-button>
	                  <!-- <el-button type="primary" icon="el-icon-check" @click="stabilize">stabilize</el-button> -->
	              </el-form-item>
	            </el-col>
	          </el-row>
	        </el-form>
	        <div id="viz"></div>
	      </div>
	    </el-card>
	  </div>
</template>

<script>
import config from './neo4j.config.js' //这是对图谱的精细化设置

export default {
  name: 'knowledge',
  data () {
    return {
      formInline: {
        input: ''
      },
      viz: {}, // 定义一个viz对象,
      // 是否点击该按钮
      isClicked: true,
      // 列举了一些语句
      option: [
        {
          value: 'MATCH (n:Food) RETURN n LIMIT 25',
          label: '检索前25个食物节点'
        },
        {
          value: 'MATCH p=()-[r:`亮氨酸`]->() RETURN p LIMIT 25',
          label: '检索含有亮氨酸的前25个关系节点'
        },
        {
          value: 'MATCH p=()-[r:HasEffect]->() RETURN p LIMIT 25',
          label: '小麦胚粉影响的前25个疾病'
        },
        {
          value: 'MATCH p=()-[r:need_check]->() RETURN p LIMIT 25',
          label: '需要做哪些检查'
        }
      ]
    }
  },
  mounted () {
  },
  methods: {
    submit () {
      let cypher = this.formInline.input
      if (cypher.length > 3) {
        this.viz.renderWithCypher(cypher)
      } else {
        this.viz.reload()
      }
    },
    stabilize () {
      this.viz.stabilize()
    },
    draw () {
      this.viz = new NeoVis.default(config)
      this.viz.render()
      // 点击完搜索全图之后 才能开启搜索功能,因为需要先渲染一下
      this.isClicked = false
    }
  }
}
</script>

<style lang='less' scoped>
.box-card {
  margin: 0 auto;
  width: 95%;
  .myDiv {
    width: 100%;
    height: 800px;
  }
  #viz {
      width: 100%;
      height: 80%;
      border: 1px solid #000;
      font: 22pt arial;
  }
}
</style>

配置的文件如下:

export default {
  containerId: 'viz',
  neo4j: {
    serverUrl: 'bolt://IP地址:7687',
    serverUser: 'neo4j',
    serverPassword: '数据库密码'
  },
  labels: {
    // 可以配置样式 但是我设置无效,有知道怎么设置的小伙伴吗
    // 食物图数据节点
    third_level_food: {
      label: 'name',
      font: { size: 20 }, // 节点字体大小
      size: 100,           // 节点大小
      color: '#EE2233'    // 节点颜色
    },

效果展示:这个颜色怎么感觉是自带的。anyway只是展示的话,对我来说足够了。
neo4j nevois.js loading,JavaScript,vue.js,neo4j,知识图谱
neo4j nevois.js loading,JavaScript,vue.js,neo4j,知识图谱

2 尝试一 (大家可以先试试这个)script 标签引入包

参考这篇博文:vue+neo4j +纯前端(neovis.js / neo4j-driver) 实现 知识图谱的集成 大干货–踩坑无数!!!将经验分享给有需要的小伙伴
写的非常详细,大家可以直接git clone下来这个代码,改成自己的数据库,尝试了是可以通的,将neovis.jshe neovis.js.map放在对应的文件夹。但是对应的node节点和边的样式,设置无效,至今不知道为啥,希望有知道的小伙伴可以滴滴我。

3 尝试二 npm 包

安装neovis的包

npm install neovis.js

导入neovis包

import NeoVis from 'neovis.js'

之后报错,找不到对应依赖:

This dependency was not found:

* core-js/modules/web.dom-collections.iterator.js in ./node_modules/neovis.js/dist/neovis-without-dependencies.js.
* To install it, you can run: npm install --save core-js/modules/web.dom-collections.iterator.js

参考了这篇博文:链接
说是引入语句改成下面所示:

import NeoVis from 'neovis.js/dist/neovis.js'

又是一下错误:没有loader去处理这个类型

./node_modules/neovis.js/dist/neovis.js
Module parse failed: Unexpected token (2:1149512)
You may need an appropriate loader to handle this file type.

文中说要使用对应版本的loader,我没有尝试,大家可以尝试一下。

参考

1.vue+neo4j +纯前端(neovis.js / neo4j-driver) 实现 知识图谱的集成 大干货–踩坑无数!!!将经验分享给有需要的小伙伴
2../node_modules/neovis.js/dist/neovis.jsModule parse failed: Unexpected token (2:1149512)
You may need an appropriate loader to handle this file type.
3.Neo4j前端可视化组件Neovis.js使用说明
4. Neovis的github官方项目文章来源地址https://www.toymoban.com/news/detail-834510.html

到了这里,关于Vue+Neovis+Neo4j展示知识图谱的demo,遇到的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Neo4j与知识图谱】Neo4j的常用语法与一个简单知识图谱构建示例

    Neo4j是一种基于图形结构的NoSQL数据库,它采用了Cypher查询语言来查询和操作图形数据。下面是Neo4j中语法知识的详细总结和示例: 1.创建节点和关系 在Neo4j中,可以使用CREATE语句来创建节点和关系。下面是创建一个节点的示例: 这将创建一个标签为Person、属性为name和age的节

    2024年02月04日
    浏览(54)
  • 医疗知识图谱 neo4j

    开源项目: https://github.com/liuhuanyong/QASystemOnMedicalKG pip install pyahocorasick pip install py2neo 需要改的点: 1.改连接的方式 2.改读文件的方式 MedicalGraph 运行: build_medicalgraph.py 时间很长,几个小时 关闭neo4j客户端 导入文件 文件见网盘 1.首先通过ahocorasick提取出,属于哪种疾病

    2024年02月09日
    浏览(48)
  • 毕业设计:Vue3+FastApi+Python+Neo4j实现主题知识图谱网页应用——前言

    资源链接:https://download.csdn.net/download/m0_46573428/87796553 前言:毕业设计:Vue3+FastApi+Python+Neo4j实现主题知识图谱网页应用——前言_人工智能技术小白修炼手册的博客-CSDN博客 首页与导航:毕业设计:Vue3+FastApi+Python+Neo4j实现主题知识图谱网页应用——前端:首页与导航栏_人工智

    2024年02月14日
    浏览(47)
  • (知识图谱学习1)neo4j基础

    目录 一、neo4j安装与环境配置 官网:https://neo4j.com/download-center/ 下载社区版neo4j服务 neo4j环境变量配置 jdk下载 jdk版本: 启动neo4j 二、cypher语句基本增删改查 增 删除 改 查 三、Py2neo连接neo4j 安装pip install py2neo 连接neo4j 建立节点 建立关系 匹配节点 匹配关系 删除节点 删除关系

    2024年02月10日
    浏览(52)
  • Neo4j简单构建知识图谱实例

    目录  一、需要两组数据 二、提取所需专题数据 三、利用结巴分词将专题数据分词 四、连接并绘制知识图谱 五、消除重复节点及重复关系 六、结果展示 Ps:在使用Neo4j前,需要先在该安装路径文件下cmd运行,输入neo4j console 即可启动,可根据关闭时输入neo4j stop,如下图所示

    2023年04月12日
    浏览(56)
  • 知识图谱构建: Neo4j 常见实例应用

    社交网络图:存储用户之间的关系和联系,如朋友关系、粉丝关系等。 产品推荐系统:利用用户的历史购买记录和评分数据,推荐相似的产品。 客户关系管理:存储企业和客户之间的联系,包括联系信息、交易记录等。 知识图谱:存储各种实体之间的关系,如人物、事件、

    2024年02月10日
    浏览(51)
  • 基于neo4j的宠物知识图谱问答系统

    在当前数字化的时代,人工智能技术的迅速发展为信息检索和数据处理带来了革命性的变化。特别是在宠物领域,一个智能的宠物关系图谱问答系统能够为宠物爱好者提供全面、精准的信息服务。本文将详细介绍一个基于Python、Django、Flask、Neo4j以及py2neo等技术栈实现的宠物关

    2024年02月20日
    浏览(84)
  • 再相逢【知识图谱】中文医学知识图谱CMeKG,中文产科医学知识图谱COKG | 附:图数据库Neo4j下载安装教学(遇到问题并解决) + Neo4j基本操作

      无论结果如何,请相信那些你努力游向岸的日子都有它的意义。   🎯 作者主页 : 追光者♂ 🔥          🌸 个人简介 : 计算机专业硕士研究生 💖、 2022年CSDN博客之星人工智能领域TOP4 🌟、 阿里云社区特邀专家博主 🏅、 CSDN-人工智能领域新星创作者 🏆、 预期20

    2024年02月14日
    浏览(77)
  • Springboot集成neo4j实现知识图谱关系图

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 使用neo4j来完成人员关系 公司项目有一个功能需要将各个人员关系列出,在参加评选的时候,进行展示和筛选 neo4j是高性能的NOSQL图形数据库,在neo4j中,社区版本只能使用一个database。在neo4j中不存在表的

    2024年02月02日
    浏览(43)
  • 知识图谱实战(03):python操作neo4j实战

    Neo4j 提供了一个Python版本的驱动包,用来连接Neo4j数据库,从而完成图数据库的增删改查操作。 1、安装指定版本的驱动包(我们这里采用Neo4.x版本,同neo4j安装包保持一致即可) $ pip install neo4j==4.4.8  --upgrade

    2024年02月03日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包