位置: IT常识 - 正文

neovis.js+vue实现知识图谱前端展示,踩坑后的经验分享!!!(vue onshow)

编辑:rootadmin
neovis.js+vue实现知识图谱前端展示,踩坑后的经验分享!!! 一、说明

推荐整理分享neovis.js+vue实现知识图谱前端展示,踩坑后的经验分享!!!(vue onshow),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue展示neo4j,vue onshow,vue.js v-on,vue onshow,vue基于nodejs,vueorg.js,vue基于nodejs,vue基于nodejs,内容如对您有帮助,希望把文章链接给更多的朋友!

        Neovis.js将JavaScript可视化和Neo4j无缝集成。 Neovis 的数据格式与数据库保持一致,可以直接连接数据库。就是需要将neo4j的地址、用户名、密码写在展示的html文件中,这使得数据不够安全

二、使用

github地址:https://github.com/neo4j-contrib/neovis.js

1.下载:

npm install --save neovis.js@v1.5.0

2.引入:

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

3.html创建DOM元素

<div ref="viz" id="viz" style="width:100%;height:100%"></div>

4.页面加载进来调用draw()画图函数

draw () { // config 配置项 var config = { container_id: 'viz', //dom元素id // neo4j服务器地址,用户名 和 密码 server_url: 'bolt://xx.xx.xx.xx:7687', //连接的地址是端口号为7687的不是7474 server_user: '用户名', server_password: '密码', // labels是节点样式的配置 // 没有在这个地方配置的节点将会是默认样式 labels: { 员工: { caption: 'show', // 节点显示的文字对应内容key community: 'community', //节点颜色 String:要用作社区(color)的属性名。默认为“按标签着色”。 size: 'pagerank', // 用作节点大小的属性名。默认为1。 // image: 'https://www.yuucn.com/wp-content/uploads/2023/05/1683650546-3c2fc84a9c77a6a.png', // 节点字体大小设置 font: { size: 15, color: '#606266' }, title_properties: ['age'] //如果提供了title_properties,则工具提示中将只显示其中列出的属性。否则,所有属性都显示在工具提示中。 //sizeCypher: String:获取节点大小的Cypher查询。$id表示要查询大小的节点的id,Cypher查询应该返回Neo4jNumber。config.labels.sizeCypher的优先级高于config.labels.size,即sizeCypher将覆盖size字段的结果大小。 }, 员工属性: { caption: 'show', community: 'community', // group: 'community', size: 'pagerank', // image: 'https://www.yuucn.com/wp-content/uploads/2023/05/1683650546-3c2fc84a9c77a6a.png', font: { size: 14, color: '#606266' }, } }, // relationships是关系线段样式的配置 // 没有在这个地方配置的线段将会是默认样式 relationships: { 该员工参与项目: { thickness: 'weight', //String:线段粗细,用作边缘厚度的属性名。默认为1。 caption: true, //Boolean:如果设置为true,则关系类型将显示为边缘标题。或String:用作边缘标题的属性名。 font: { size: 12, color: '#606266' } // 关系节点文字大小颜色 }, 员工属性: { thickness: 'weight', caption: true, font: { size: 12, color: '#606266' } }, asks: { thickness: 'weight', caption: true //Boolean:如果设置为true,则关系类型将显示为边缘标题。或String:用作边缘标题的属性名。 } }, // 关系线段是否显示箭头 arrows: true, hierarchical: false, // 节点显示方式 是否启用分层布局后 // 分层结构或者默认 "hubsize"(默认)和"directed". hierarchical_sort_method: 'directed', encrypted: 'ENCRYPTION_OFF', // "ENCRYPTION_OFF" (default) or "ENCRYPTION_ON" trust: 'TRUST_ALL_CERTIFICATES', // "TRUST_ALL_CERTIFICATES" (default) or "TRUST_SYSTEM_CA_SIGNED_CERTIFICATES" // 配置数据库查询语句, 替换成自己的查询语句才可以显示 initial_cypher: 'MATCH (n:`员工`) RETURN n LIMIT 25' } this.viz = new NeoVis(config) this.viz.render() // 渲染 // 注册点击事件,点击后执行函数 在nodeClick(自己编写的函数)函数中实现,如果不需要点击节点触发功能,则此方法省略 this.viz.registerOnEvent('clickNode', this.nodeClick) },

根据上文 则可以显示对应neo4j数据库里面所有的员工节点的前25条数据。

点击节点触发的函数

// 此函数为注册的点击函数,根据自己的需求编写逻辑//node参数为点击时neovis返回的当前节点数据{nodeId:'节点的id',node:当前节点对象}nodeClick (node) { this.viz._network.off('click') const statement ='match p = (n)-[r]->() where id(n)= ' + node.nodeId + ' return p' this.viz.updateWithCypher(statement) // 点击节点后增加查询语句 更新数据,添加最新查到的数据 },

点击节点,使用updateWithCypher方法后,点击事件会多次挂载;所以每次执updateWithCypher方法之前要解绑之前绑定的点击事件this.viz._network.off('click')

三、文档描述: new Neovis(config)

Neovis的构造函数。根据给定的配置创建新的Neovis对象。config请参阅以上代码中的注释配置

Neovis.clearNetwork()

清除网络可视化

neovis.js+vue实现知识图谱前端展示,踩坑后的经验分享!!!(vue onshow)

Neoivs.registerOnEvent(eventType,handler)

注册事件函数eventType事件类型,handler用于管理事件的处理程序,也就是需要执行的函数

eventType事件类型:clickNode、clickEdge、completed、error

Neovis.reinit(config)

使用新的config对象重新初始化网络可视化。请参阅配置

Neovis.reload()

重新加载可视化。将再次从config对象中的initial_cypher从Neo4j获取数据。

Neovis.stabilize()

停止物理模拟、稳定可视化效果。

Neovis.renderWithCypher(statement)

使用Cypher语句的结果呈现新的可视化效果。Cypher查询中返回的任何Node和Relationship对象都将在可视化中呈现。当前不支持路径。

Neovis.updateWithCypher(statement)

使用Cypher语句的结果更新当前可视化,重新指定当前节点。Cypher查询中返回的任何Node和Relationship对象都将在可视化中呈现。当前不支持路径。此函数不会更改renderWithCypher或初始密码给出的原始查询。

config

配置项都在draw函数中以注释的形式标注

一个配置对象,它定义:

如何连接Neo4j(必选)用于加载可视化数据的初始Cypher查询(可选)应在其中呈现可视化效果的DOM元素(必需)如何设置可视化元素的样式(labels和relationships)(必需)

更多配置内容可进入github查看,或阅读源码

注意:由于我之前下载2.0版本不管是npm下载还是直接引入js文件都一直报错所以使用了1.5版本

问题:

        1.刚开始使用一直加载不出来节点数据,是因为 initial_cypher 赋值的查询代码写错了

        2.查询出来节点没有关系线段连接,是因为initial_cypher 查询语句只查询了节点 没有把关系查询出来,如下代码,使用身份证号 把“当前员工”和当前员工的“员工属性”节点以及节点关系查询出来(根据自己的数据库内容条件查询数据)

MATCH (f:`员工` {card_id: "此处是身份证号"})-[r:`员工属性`]->(q:`员工属性` {card_id: "此处是身份证号"}) RETURN *
本文链接地址:https://www.jiuchutong.com/zhishi/284047.html 转载请保留说明!

上一篇:前端实现 PDF 预览的常见方案(前端生成pdf文件)

下一篇:hcontrol.exe是什么进程 作用是什 hcontrol进程查询(hhcol.exe)

  • 什么是本地用户和本地组(什么是本地用户使用超级级的总管)

    什么是本地用户和本地组(什么是本地用户使用超级级的总管)

  • ipad无法下载软件(iPad无法下载软件显示稍后再试)

    ipad无法下载软件(iPad无法下载软件显示稍后再试)

  • qq恢复5年前好友

    qq恢复5年前好友

  • 滴滴预约单太远怎么办(滴滴预约单太远会怎么样)

    滴滴预约单太远怎么办(滴滴预约单太远会怎么样)

  • ctrlf6是什么快捷键(ctrl f快捷键的作用)

    ctrlf6是什么快捷键(ctrl f快捷键的作用)

  • 苹果信号满格打不出去(苹果信号满格打不出去电话)

    苹果信号满格打不出去(苹果信号满格打不出去电话)

  • 电脑显示屏七种颜色来回闪(电脑显示屏有几种)

    电脑显示屏七种颜色来回闪(电脑显示屏有几种)

  • 怎么电话拉黑了还可以收到信息(怎么电话拉黑了还能打进来)

    怎么电话拉黑了还可以收到信息(怎么电话拉黑了还能打进来)

  • 华为nova7的耳机孔在哪里(华为nova7的耳机是哪个型号)

    华为nova7的耳机孔在哪里(华为nova7的耳机是哪个型号)

  • b75主板最高配什么cpu(b75主板最强配置)

    b75主板最高配什么cpu(b75主板最强配置)

  • 美团属于阿里还是腾讯(美团属于阿里集团吗)

    美团属于阿里还是腾讯(美团属于阿里集团吗)

  • 荣耀20pro性能跑分(华为荣耀20pro性能)

    荣耀20pro性能跑分(华为荣耀20pro性能)

  • sp格式的文件怎么打开(sp后缀的文件怎么打开)

    sp格式的文件怎么打开(sp后缀的文件怎么打开)

  • 华为手机导航用的是北斗还是gps(华为手机导航用的什么系统)

    华为手机导航用的是北斗还是gps(华为手机导航用的什么系统)

  • ip数据报的大小固定为多少字节(ip数据报的大小取决于物理网络的什么)

    ip数据报的大小固定为多少字节(ip数据报的大小取决于物理网络的什么)

  • word字间距怎么弄(Word字间距怎么设置)

    word字间距怎么弄(Word字间距怎么设置)

  • 为什么电脑反应慢(为什么电脑反应突然变得很慢)

    为什么电脑反应慢(为什么电脑反应突然变得很慢)

  • 华为的duallens是哪款(duallens华为手机图片价格)

    华为的duallens是哪款(duallens华为手机图片价格)

  • 微信支付立减金是什么(微信支付立减金怎么获得)

    微信支付立减金是什么(微信支付立减金怎么获得)

  • vivoy97闪充还是快充(vivo手机闪充是充电头还是数据线)

    vivoy97闪充还是快充(vivo手机闪充是充电头还是数据线)

  • qq永久冻结有机会解冻吗(qq永久冻结可以解封嘛)

    qq永久冻结有机会解冻吗(qq永久冻结可以解封嘛)

  • 蚂蚁森林多少能量可以获得环保证书(蚂蚁森林多少能量可以种树)

    蚂蚁森林多少能量可以获得环保证书(蚂蚁森林多少能量可以种树)

  • 挖孔屏和水滴屏的区别(挖孔屏和水滴屏的区别哪个好 知乎)

    挖孔屏和水滴屏的区别(挖孔屏和水滴屏的区别哪个好 知乎)

  • Win10网页打不开提示DNS_PROBE_POSSIBLE错误怎么办?(win10网页打不开但是有网)

    Win10网页打不开提示DNS_PROBE_POSSIBLE错误怎么办?(win10网页打不开但是有网)

  • 诺曼底入侵后的桑树港遗址,法国诺曼底Arromanches les Bains (© Javier Gil/Alamy)(诺曼底作战)

    诺曼底入侵后的桑树港遗址,法国诺曼底Arromanches les Bains (© Javier Gil/Alamy)(诺曼底作战)

  • React Hook - useEffecfa函数的使用细节详解

    React Hook - useEffecfa函数的使用细节详解

  • python线性规划的求解方法(python 规划求解)

    python线性规划的求解方法(python 规划求解)

  • 房产税纳税义务人
  • 销项税额和进项税额发票怎么区别
  • 利润表季度怎么填写
  • 在建工程应交税费会计分录
  • 养老机构提供的养老服务免增值税吗
  • 普通发票申请表怎么填写
  • 无形资产是金融性资产还是经营性资产
  • 差旅费包括哪些明细
  • 营改增之前材料含税吗
  • 结转增值税销项的账务处理
  • 物业公司收到开发代付物业管理费怎么做账
  • 全资子公司向母公司划转资产 土地增值税
  • 税务稽查补缴的税款怎么处理
  • 发票没开完可以领取吗?
  • 差额纳税的会计处理
  • 消费税组成计税价
  • 税控盘维护费280怎么交
  • 国家对发票开具时间有没有具体规定?
  • 未达到起征点销售额会计分录
  • 商贸企业固定资产计提折旧吗
  • 年利率的计算公式(免利息税)
  • 公司负担劳务费的个税如何做分录
  • windows10如何关闭病毒和威胁防护设置
  • 企业发生待摊费怎么处理
  • 非常损失计入
  • 新成立股份有限公司股本构成
  • 发放应付职工薪酬的账务处理
  • 太超过了
  • 固定资产前期购买的后期入账怎么入?
  • php readdir函数
  • 存货短缺的账务处理
  • 产品生产业务核算工作实训
  • php array_chunk
  • 银行存款转定期存款分录
  • 变动成本法计算营业利润
  • 实收资本明细账模板
  • 机器学习报错解决2——ValueError: too many values to unpack (expected 3)
  • flex布局实战
  • 补缴税款后还能退税吗
  • 现金清查的会计分录
  • smitty命令用法
  • php分页思路
  • 如何进行合理的库存管理
  • 企业接受捐赠怎么入账
  • 小企业需要做计算机吗
  • 母公司合并子公司报表
  • 什么情况纳税
  • 外币报表折算差额可以转损益吗
  • 客户提现产生的费用计入
  • 预收款开发票,不确认收入可以吗?
  • 实收资本的入账金额包括消费税吗
  • 定额发票是否可以盖公章
  • 销售商品发生的运输费计入什么科目
  • 信用卡账单最低还款额是什么意思
  • 非公益捐赠如何入账
  • 工程款预缴税
  • 坏账收不回来如何做分录
  • 2023最新税收优惠政策有哪些
  • 会展费会计分录
  • 售后回租融资是利好还是利空
  • 公司向职工借钱怎么做账
  • mysql数据库优化面试题
  • SQL直接操作excel表(查询/导入/插入)
  • 使用u盘安装win10
  • 2019谷歌浏览器
  • centos安装yun
  • 虚拟机centos7无法启动
  • win10隐藏图标不显示
  • linux系统开发环境
  • linux中安装软件可使用哪些方式
  • win7注册表文件位置
  • c#在unity的作用
  • unity判断点击ui
  • 批处理在windows中的典型应用
  • JavaScript的strict模式与with关键字介绍
  • jquery常用操作
  • jquery插件使用教程
  • jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
  • 税务注销相关文件
  • 江西车辆购置税查询网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设