位置: 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)

  • 服装店应该掌握这4种营销方法(做服装店的经验之谈)

    服装店应该掌握这4种营销方法(做服装店的经验之谈)

  • 微信公众号标题错了怎么办(微信公众号标题错了怎么补救)

    微信公众号标题错了怎么办(微信公众号标题错了怎么补救)

  • keep拉黑后对方知道吗(keep拉黑对方会知道吗)

    keep拉黑后对方知道吗(keep拉黑对方会知道吗)

  • qq识别文字功能没了(qq识别文字功能快捷键)

    qq识别文字功能没了(qq识别文字功能快捷键)

  • 苹果6的录音功能在哪里找(苹果6的录音功能)

    苹果6的录音功能在哪里找(苹果6的录音功能)

  • 拼多多买的东西好友可以看见吗(拼多多买的东西坏了客服不理怎么办)

    拼多多买的东西好友可以看见吗(拼多多买的东西坏了客服不理怎么办)

  • 关闭睿频对游戏影响吗?(关闭睿频对游戏有影响吗)

    关闭睿频对游戏影响吗?(关闭睿频对游戏有影响吗)

  • 佳能加墨水后提示无墨(佳能加完墨水还显示墨水不足)

    佳能加墨水后提示无墨(佳能加完墨水还显示墨水不足)

  • 新注册的微信加人对方看不到(新注册的微信加好友显示账号异常)

    新注册的微信加人对方看不到(新注册的微信加好友显示账号异常)

  • 笔记本说话对方听不到声音(笔记本说话对方听不到声音怎么回事)

    笔记本说话对方听不到声音(笔记本说话对方听不到声音怎么回事)

  • 京东允许一年退货次数(京东买了一年多的产品怎么退)

    京东允许一年退货次数(京东买了一年多的产品怎么退)

  • 在关系数据模型中域是指(在关系数据模型中通常可以把什么称为属性)

    在关系数据模型中域是指(在关系数据模型中通常可以把什么称为属性)

  • 手机没停机连不上网什么原因(手机没停机连不上无线网)

    手机没停机连不上网什么原因(手机没停机连不上无线网)

  • cpu内存是什么意思啊(cpu内存是内存条吗)

    cpu内存是什么意思啊(cpu内存是内存条吗)

  • iphonex怎么叫siri出来

    iphonex怎么叫siri出来

  • 苹果手机来电不响铃怎么回事(苹果手机来电不响铃声)

    苹果手机来电不响铃怎么回事(苹果手机来电不响铃声)

  • 为什么来电号码带加86(为什么来电号码不在屏幕中间)

    为什么来电号码带加86(为什么来电号码不在屏幕中间)

  • 为什么安装不了抖音软件(为什么安装不了QQ)

    为什么安装不了抖音软件(为什么安装不了QQ)

  • realmex和青春版的区别(realmex青春版realmex对比)

    realmex和青春版的区别(realmex青春版realmex对比)

  • flyme怎么限制应用联网(flyme权限)

    flyme怎么限制应用联网(flyme权限)

  • 腾讯视频绑定手机号(腾讯视频绑定手机号查看资产是什么意思?)

    腾讯视频绑定手机号(腾讯视频绑定手机号查看资产是什么意思?)

  • 快手怎么点亮小红心(快手怎么点亮小心心)

    快手怎么点亮小红心(快手怎么点亮小心心)

  • 网口灯不亮(电脑主机网口灯不亮)

    网口灯不亮(电脑主机网口灯不亮)

  • 如何修复错误0xC1900101?Win11安装助手错误代码0xc1900101的原因以及解决方法(如何修复错误 OC3 INVT CHF100a)

    如何修复错误0xC1900101?Win11安装助手错误代码0xc1900101的原因以及解决方法(如何修复错误 OC3 INVT CHF100a)

  • 【计算机视觉】图像分割与特征提取——基于Log、Canny的边缘检测(计算机视觉的应用)

    【计算机视觉】图像分割与特征提取——基于Log、Canny的边缘检测(计算机视觉的应用)

  • 动产租赁适用税率
  • 发票专票抵扣
  • 参加会议培训的好处
  • 个税三代手续费返还增值税报表怎么填
  • 公司内控制度由谁制定
  • 在建期间土地使用税可以资本化吗
  • 出口退税发票未稽核可以申报退税吗
  • 企业清算的种类
  • 固定资产贷款资料清单
  • 销售多余材料会计分录怎么做
  • 个人独资公司可以控股其他公司吗
  • 银行利息怎么算?
  • 应入固定资产的已做费用,如何调账
  • 企业必须要现金流入吗
  • 跨年的增值税普通发票可以入账吗
  • 采购退货退款怎么做账
  • 企业微信收款怎么提现
  • 收到个人转款会计分录
  • 本月合计怎么做
  • boss直聘收费怎么这么贵
  • linux常用的命令大全
  • 斐讯p.to路由器管理员密码
  • 企业为开发新产品新技术新工艺
  • Linux Mint Cinnamon中安装MATE桌面详细步骤
  • 公司招的兼职员工怎么报个税
  • 一本书装订费多少钱
  • 失业稳岗补贴要交社保吗
  • 担保损失会计分录
  • mac怎么删除cineware
  • PHP:realpath_cache_get()的用法_Filesystem函数
  • Laravel5中Cookie的使用详解
  • html用户注册界面
  • php高级程序招聘
  • 个税率是多少
  • 期权增发是什么行业
  • 结转损益的凭证需要打印吗
  • 税务局开普票需要什么材料
  • phpcms api
  • 固定资产清理怎么做账务处理
  • sql里面union 和union all区别
  • 自己动手把桌子改窄
  • 党费会计核算科目有哪些
  • 合伙律师事务所管理办法最新
  • 以前年度损益调整是什么意思
  • 预收账款所得税汇算清缴需要调吗
  • 跨年度发票的报表怎么填
  • 增值税留抵税额借贷方向
  • 无法收回的款项怎么记账
  • 开1000的增值税发票要交多少税
  • 暂估入库做账
  • 公司注销是什么流程
  • 公对公转账必须签合同吗
  • 年初建账考虑要点有哪些
  • SQL中distinct 和 row_number() over() 的区别及用法
  • xp系统安装软件参数不正确怎么解决
  • Windows Server 2008使用软件授权管理工具
  • vmware虚拟机激活码
  • xp操作系统还能用吗
  • linux常用命令 删除
  • explorer.exe进程出错
  • ubuntu18.04网络
  • win8系统开机
  • xp系统修改分辨率
  • windowsxp是什么时候正式发布
  • Linux中的stat命令使用简介
  • Win7系统电脑开机无法进入桌面
  • html的基本语法规则
  • exec方法
  • 一些实用性较高的东西
  • 你必须知道的家长六种类型
  • shell脚本的启动和关闭命令
  • 孙其功陪你学之——unity3d进程暂停
  • dom基础知识
  • Android Studio --自动删除没有用的资源,给APK减减肥
  • js cookie存取
  • 韩国快递关税
  • 地方税务局网上申报
  • 非房地产企业土地增值税清算
  • 长沙市各个区的县市排名
  • 利润表中所得税费用包括
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设