亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue使用neovis操作neo4j圖形數(shù)據(jù)庫(kù)及優(yōu)缺點(diǎn)

 更新時(shí)間:2022年02月10日 09:50:52   作者:接著奏樂(lè)接著舞。  
這篇文章主要介紹了vue使用neovis操作neo4j圖形數(shù)據(jù)庫(kù),本文給大家介紹了與常規(guī)做法的優(yōu)缺點(diǎn)對(duì)比及使用技巧,對(duì)vue?neo4j圖形數(shù)據(jù)庫(kù)相關(guān)知識(shí)感興趣的朋友一起看看吧

1.前言:

由于項(xiàng)目需要在前端展示關(guān)系圖,常規(guī)的做法是,后端操作數(shù)據(jù)庫(kù)返回Json數(shù)據(jù),前端使用d3或者echarts進(jìn)行展示,奈何因?yàn)楹蠖瞬唤o力(說(shuō)是無(wú)法獲取最核心的關(guān)系id),所以前端借助neovis.js插件直接操作數(shù)據(jù)庫(kù),進(jìn)行展示。

2.優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

相比于常規(guī)做法,簡(jiǎn)單方便直接,而且neo4j數(shù)據(jù)庫(kù)在處理復(fù)雜關(guān)系數(shù)據(jù)方面有優(yōu)勢(shì)。

缺點(diǎn):

暴露賬號(hào)密碼,通過(guò)f12控制臺(tái)直接就能看到數(shù)據(jù)的賬號(hào)和密碼。對(duì)此的解決方法是,使用企業(yè)版neo4j注冊(cè)只讀賬號(hào),或者后端直接限制數(shù)據(jù)庫(kù)查詢語(yǔ)言,既只讓這個(gè)賬號(hào)有讀取而沒(méi)有修改的權(quán)力。 (無(wú)奈啊,前端操作數(shù)據(jù)庫(kù)就是不安全-.-)

3.如何使用

鄭重提醒 

static文件夾放在public目錄下,新建static目錄

導(dǎo)入的時(shí)候可以直接/static

在做這個(gè)地方時(shí),因?yàn)槭窍氚阉鳛橐粋€(gè)組件使用,可以吧vue文件注冊(cè)全局組件,也可以使用iframe標(biāo)簽嵌入,各有優(yōu)缺點(diǎn)。

如果是irfame嵌入的話,html文件一定放在public文件夾里面的static下,src為:/static/xxx.html

(1)首先,現(xiàn)在git上下載Neovis.js   https://github.com/neo4j-contrib/neovis.js

(2)將dist目錄下的neovis.js以及neovis.js.map文件復(fù)制出來(lái)

 (3)粘貼到你的vue項(xiàng)目的static文件夾下 

 (4)然后在index.html目錄下引入neovis.js,jquery沒(méi)有引入的話,也需要引入,他會(huì)用到j(luò)query

(5)然后就是neovis的vue頁(yè)面,里面一共四個(gè)地方需要修改,已經(jīng)標(biāo)注。其他的直接復(fù)制就行 

<template>
    <div class="myDiv">
        <div id="viz"></div>
        Cypher query: <textarea rows="4" cols=50 id="cypher"></textarea><br>
        <input type="submit" value="Submit" id="reload" @click="submit">
        <input type="submit" value="Stabilize" id="stabilize" @click="stabilize">
    </div>
</template>
 
<script>
export default {
    name: '',
    components: {},
    props: {},
    data() {
        return {
            viz: {} //定義一個(gè)viz對(duì)象
        }
    },
    mounted() { this.draw() }, //渲染
    methods: {
        submit() { 
            var cypher = $("#cypher").val();
            if (cypher.length > 3) {
                this.viz.renderWithCypher(cypher);
            } else {
                console.log("reload");
                this.viz.reload();
            }
        },
        stabilize() {
            this.viz.stabilize();
        draw() {
            var config = {
                container_id: "viz",
                server_url: "后端neo4j的地址",
                server_user: "neo4j用戶名,一般是neo4j",
                server_password: "neo4j密碼",
                labels: {
                    //"Character": "name",
                    "Character": {
                        "caption": "name",
                        "size": "pagerank",
                        "community": "community"
                        //"sizeCypher": "MATCH (n) WHERE id(n) = {id} MATCH (n)-[r]-() RETURN sum(r.weight) AS c"
                    }
                },
                relationships: {
                    "INTERACTS": {
                        "thickness": "weight",
                        "caption": false
                //查詢節(jié)點(diǎn)的語(yǔ)句,寫成你們的
                initial_cypher: "match (n)-[r]->(m) return n,r,m;" 
            };
            this.viz = new NeoVis.default(config);
            this.viz.render();
            console.log(this.viz);
}
</script>
<style lang="less" scoped>
.myDiv {
    width: 800px;
    height: 800px;
textarea {
    border: 1px solid lightgray;
    margin: 5px;
    border-radius: 5px;
#viz {
    width: 100%;
    height: 80%;
    border: 1px solid #f1f3f4;
    font: 22pt arial;
input {
    border: 1px solid #ccc;
</style>

到此這篇關(guān)于vue使用neovis操作neo4j圖形數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)vue neo4j圖形數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論