From fd720f5c1c28f21d69b09e1d8df16f62d1325340 Mon Sep 17 00:00:00 2001 From: Michael Bauer Date: Sat, 9 Mar 2024 07:07:42 -0700 Subject: [PATCH] Guaging interest update. --- .DS_Store | Bin 6148 -> 6148 bytes css/app.243599e3.css | 1 + css/app.a1ee4f31.css | 1 - img/code.746f4ea3.png | Bin 0 -> 68313 bytes index.html | 2 +- js/app.718228c4.js | 2 -- js/app.718228c4.js.map | 1 - js/app.fec24c1c.js | 2 ++ js/app.fec24c1c.js.map | 1 + 9 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 css/app.243599e3.css delete mode 100644 css/app.a1ee4f31.css create mode 100644 img/code.746f4ea3.png delete mode 100644 js/app.718228c4.js delete mode 100644 js/app.718228c4.js.map create mode 100644 js/app.fec24c1c.js create mode 100644 js/app.fec24c1c.js.map diff --git a/.DS_Store b/.DS_Store index b5e30249ecaa91a0613af3c1ca463a02682e988d..dc7d9393f22402623c53081680c752c2024e827b 100644 GIT binary patch delta 284 zcmZoMXffEJ!eql}&%nUI%#h4b%ut-0@8Xh_lb-|>;fS2=`|8)JqmIb3DQL2j6PO~{ z{11i$6;9sABnM+YVzOjrZc&{q$1GOQy6>rU&^f3vnGCrM>ACp`V=!e4G7N*0^K%P; z)&iY10Yow}WHA)yq$7#DO!*2EM|N`5oi{MMz;jrDTy7%14qmIb3DQL2j6PO~{ z5>6Nc6;9sABnM+YVzOjr-1Tv?9J5&c{ToQeWHRJ3r03=%jKP#G$S@2}&d)6XTFbz| zcmPB)F=R0m=cFTvyTs_j#F3qx?c)k_GFT7LCJnfY(IrtVa+$FCA+s9G!~(X>>>Pjj E0nbTP`2YX_ diff --git a/css/app.243599e3.css b/css/app.243599e3.css new file mode 100644 index 0000000..eebe400 --- /dev/null +++ b/css/app.243599e3.css @@ -0,0 +1 @@ +.landing-page[data-v-64799410]{max-width:800px;margin:0 auto}.gallery[data-v-64799410]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:20px}.gallery-item img[data-v-64799410]{max-width:100%;height:auto}#colors-graph[data-v-32acb1d8],#trees-graph[data-v-4721e071]{width:100%;height:100vh} \ No newline at end of file diff --git a/css/app.a1ee4f31.css b/css/app.a1ee4f31.css deleted file mode 100644 index ef7413d..0000000 --- a/css/app.a1ee4f31.css +++ /dev/null @@ -1 +0,0 @@ -.landing-page[data-v-03caad2c]{max-width:800px;margin:0 auto}.gallery[data-v-03caad2c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:20px}.gallery-item img[data-v-03caad2c]{max-width:100%;height:auto}#colors-graph[data-v-32acb1d8],#trees-graph[data-v-4721e071]{width:100%;height:100vh} \ No newline at end of file diff --git a/img/code.746f4ea3.png b/img/code.746f4ea3.png new file mode 100644 index 0000000000000000000000000000000000000000..ab19e56db09626fb98bda9fdeb1502aefc4e5959 GIT binary patch literal 68313 zcmZ^}19YU_(lDBt*c02f-O|`dkZQHgv$;5WY&Ykz1^MBu2_rLe)wb!m) z-nI97y1J?(6y+rl;c(%=z`zitBt@0Mz`jub9bhm}e=%TBXWzlV;M%Q3L=>e&M2Hog z9n7t4&A`AUBa%{}6;-sbMy|Y>vVxPpodj<}oIw0U^#c2HVn{|#5{&vCj@I4O334Sc z5{8zpoiu-28%&EXe--l!ye5{ZlH&4EAmYU150djsuC2!@5A(~7ExxM_mrJ0_)#T?F zA(ox+p|o0BFfGzFa@x_9Uq4d^dy&6F7=mFOf58uqX!l<(_%a9 z^8WhzX>ASYPJ{*1n&0oMQ<+S9p^#&V+aoI1%)lY!94hMw4*{l6^@h@3sQNaxS<~Uc+Mx@I%yAx z+-xZHKhYRfuS_Z$f}ry{lD*1dGL}0^q@;cr-g||X9T}wE9bz>QV{kGrB+bsjDZG|( zDZsEXI}XUy$18gZJ<0qzN(040j5rzqa}7o$DFinPl_ms*-Ae=$fF3?ag(MW05Zxon zxtVFu>{%vCEt$Zgd0e%}wn|!kAsZT$1@479a&^6r0u;$<&G`2IyOHS#0A?>%s=|D+ zhYjv{N&~j&u^_Owat!*7(3^%-tsBpGlF@3TDfE^02UOz^0cI%7UMOxbtnDv8LSQgo zP%Nn;3`w^0-%azf=%FV1a1~)9`^;+z5`&~`k?|oUdRb;+(A2gTGn#o{o+Cmh7-lbzBcU#sL-52l?Gy6` zn8A;l0gr9{CrCgfm?&%>S!g(7zv$af7;;!CG4fIALKqsc@}IngI94L|BweG-Hz+{^ ziYy4xh{ND$(Gf$AEIg@6sfel0lfts##TYK|3t>2YK10g2?V2`~e919#y>PWrbs?+D z=U>jH&MD3b&cPlCkirV~CY`EV4RuKw30e?ZzO>+J#PP+Q4c_mGgFHJiH*v2b;(A@K zS$#r^sD5?RV2F)=YZaU=1N7B)$pE{TRftv!FS z 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 Hu0mjfFG0FD literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 50315c3..3ddf47d 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -vue
\ No newline at end of file +vue
\ No newline at end of file diff --git a/js/app.718228c4.js b/js/app.718228c4.js deleted file mode 100644 index 705d355..0000000 --- a/js/app.718228c4.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){"use strict";var e={8959:function(e,n,r){var o=r(9242),t=r(2483),a=r(3396);function i(e,n,r,o,t,i){const s=(0,a.up)("router-view");return(0,a.wg)(),(0,a.j4)(s)}var s={name:"App"},c=r(89);const l=(0,c.Z)(s,[["render",i]]);var u=l,p=r(7139);const h=e=>((0,a.dD)("data-v-03caad2c"),e=e(),(0,a.Cn)(),e),d={class:"landing-page"},f=h((()=>(0,a._)("h1",null,"Welcome to The Virtuous Graph",-1))),g=h((()=>(0,a._)("h3",null,"Graph as Code; Code as Graph",-1))),m=h((()=>(0,a._)("p",null,"Our motto represents our vision of programming: taking a graph-centric approach to programming itself - to visualize the program as a graph and ultimately to modify a graph to modify a program.",-1))),v=h((()=>(0,a._)("h2",null,"Graphs:",-1))),w={class:"gallery"},_=["src","alt"],b=h((()=>(0,a._)("p",null,"More to come soon. Email me at michaelbauer.com for more information.",-1))),y=h((()=>(0,a._)("footer",null,"© Copyright 2024 RadialNexus",-1)));function O(e,n,r,o,t,i){const s=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",d,[f,g,m,v,(0,a._)("div",w,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(t.graphs,((e,n)=>((0,a.wg)(),(0,a.iD)("div",{class:"gallery-item",key:n},[(0,a._)("h3",null,(0,p.zw)(e.title),1),(0,a._)("p",null,(0,p.zw)(e.headline),1),(0,a.Wm)(s,{to:e.route},{default:(0,a.w5)((()=>[(0,a._)("img",{src:e.imageSrc,alt:e.title},null,8,_)])),_:2},1032,["to"]),(0,a._)("p",null,(0,p.zw)(e.description),1)])))),128))]),b,y])}var j={name:"LandingPage",data(){return{graphs:[{title:"Trees",headline:"Exceptional Trees in Hawaii",description:"This is the transformation of a spreadsheet of Exceptional Trees in Hawaii, their names, species, locations, and island, into a 3D Force Graph. The 3D view allows some new perspective for exploring a dataset. Through the RadialNEXUS software, a transformation of the spreadsheet into Cypher code for loading into a Neo4j Graph supports another way to explore the data set.",imageSrc:r(4090),route:"/trees"},{title:"Colors",headline:"Recursive generation of RGB colors",description:"This shows two things. First, the progression of colors as fixed, incremental changes are made in one of the color dimensions. Second, the recursion itself is revealed as changes are made along the different dimensions and until all changes are completed.",imageSrc:r(2923),route:"/colors"}]}}};const x=(0,c.Z)(j,[["render",O],["__scopeId","data-v-03caad2c"]]);var T=x;const k={id:"trees-graph"};function C(e,n,r,o,t,i){return(0,a.wg)(),(0,a.iD)("div",k)}var D=r(4274),G={name:"TreesGraph",mounted(){fetch("domain/trees.json").then((e=>e.json())).then((e=>{const n=(0,D.Z)()(this.$el);n.graphData(e)})).catch((e=>console.error(e)))}};const Z=(0,c.Z)(G,[["render",C],["__scopeId","data-v-4721e071"]]);var $=Z;const E={id:"colors-graph"};function S(e,n,r,o,t,i){return(0,a.wg)(),(0,a.iD)("div",E)}var z=r(1114);function I(e){e=e.replace(/^#/,"");const n=parseInt(e,16),r=n>>16&255,o=n>>8&255,t=255&n;return`rgb(${r}, ${o}, ${t})`}var P={name:"ColorsGraph",mounted(){fetch("domain/colors.json").then((e=>e.json())).then((e=>{const n=(0,D.Z)()(this.$el);n.graphData(e).nodeThreeObject((e=>{const n=new z.Kj0(new z.xo$(12),new z.vBJ({color:I(e.color)}));return n})).linkColor((()=>"rgba(255, 255, 255, 0.5)")).linkOpacity(.5)})).catch((e=>console.error(e)))}};const R=(0,c.Z)(P,[["render",S],["__scopeId","data-v-32acb1d8"]]);var F=R;const H=(0,t.p7)({history:(0,t.PO)(),routes:[{path:"/",component:T},{path:"/trees",component:$},{path:"/colors",component:F}]}),N=(0,o.ri)(u);N.use(H),N.mount("#app")},2923:function(e,n,r){e.exports=r.p+"img/colors.5df2b206.png"},4090:function(e,n,r){e.exports=r.p+"img/trees.716e32e2.png"}},n={};function r(o){var t=n[o];if(void 0!==t)return t.exports;var a=n[o]={exports:{}};return e[o].call(a.exports,a,a.exports,r),a.exports}r.m=e,function(){var e=[];r.O=function(n,o,t,a){if(!o){var i=1/0;for(u=0;u=a)&&Object.keys(r.O).every((function(e){return r.O[e](o[c])}))?o.splice(c--,1):(s=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[o,t,a]}}(),function(){r.n=function(e){var n=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(n,{a:n}),n}}(),function(){r.d=function(e,n){for(var o in n)r.o(n,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})}}(),function(){r.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)}}(),function(){r.p="/"}(),function(){var e={143:0};r.O.j=function(n){return 0===e[n]};var n=function(n,o){var t,a,i=o[0],s=o[1],c=o[2],l=0;if(i.some((function(n){return 0!==e[n]}))){for(t in s)r.o(s,t)&&(r.m[t]=s[t]);if(c)var u=c(r)}for(n&&n(o);l\n \n\n\n\n\n","import { render } from \"./App.vue?vue&type=template&id=9b61d254\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=9b61d254&lang=css\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n\n\n\n\n\n","import { render } from \"./LandingPage.vue?vue&type=template&id=03caad2c&scoped=true\"\nimport script from \"./LandingPage.vue?vue&type=script&lang=js\"\nexport * from \"./LandingPage.vue?vue&type=script&lang=js\"\n\nimport \"./LandingPage.vue?vue&type=style&index=0&id=03caad2c&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-03caad2c\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./TreesGraph.vue?vue&type=template&id=4721e071&scoped=true\"\nimport script from \"./TreesGraph.vue?vue&type=script&lang=js\"\nexport * from \"./TreesGraph.vue?vue&type=script&lang=js\"\n\nimport \"./TreesGraph.vue?vue&type=style&index=0&id=4721e071&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4721e071\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./ColorsGraph.vue?vue&type=template&id=32acb1d8&scoped=true\"\nimport script from \"./ColorsGraph.vue?vue&type=script&lang=js\"\nexport * from \"./ColorsGraph.vue?vue&type=script&lang=js\"\n\nimport \"./ColorsGraph.vue?vue&type=style&index=0&id=32acb1d8&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-32acb1d8\"]])\n\nexport default __exports__","// Import Vue from the 'vue' package\nimport { createApp } from 'vue';\n// Import VueRouter from the 'vue-router' package\nimport { createRouter, createWebHistory } from 'vue-router';\n// Import App.vue component\nimport App from './App.vue';\n// Import LandingPage.vue component\nimport LandingPage from './views/LandingPage.vue';\n// Import TreesGraph.vue component\nimport TreesGraph from './views/TreesGraph.vue';\n// Import ColorsGraph.vue component\nimport ColorsGraph from './views/ColorsGraph.vue';\n\n// Create a Vue Router instance\nconst router = createRouter({\n history: createWebHistory(),\n routes: [\n { path: '/', component: LandingPage },\n { path: '/trees', component: TreesGraph },\n { path: '/colors', component: ColorsGraph }\n ]\n});\n\n// Create a Vue app instance\nconst app = createApp(App);\n\n// Use Vue Router with the Vue app instance\napp.use(router);\n\n// Mount the Vue app to the DOM\napp.mount('#app');\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkvue\"] = self[\"webpackChunkvue\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(8959); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_createBlock","_component_router_view","name","__exports__","render","class","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_Fragment","_renderList","$data","graphs","graph","index","key","_toDisplayString","title","headline","_createVNode","_component_router_link","to","route","default","_withCtx","src","imageSrc","alt","_hoisted_7","_","description","_hoisted_8","_hoisted_9","data","require","id","mounted","fetch","then","res","json","myGraph","ForceGraph3D","this","$el","graphData","catch","err","console","error","hexToRgb","hex","replace","bigint","parseInt","r","g","b","nodeThreeObject","node","obj","THREE","color","linkColor","linkOpacity","router","createRouter","history","createWebHistory","routes","path","component","LandingPage","TreesGraph","ColorsGraph","app","createApp","App","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","splice","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","globalThis","Function","e","window","prop","prototype","hasOwnProperty","p","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","forEach","bind","push","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/js/app.fec24c1c.js b/js/app.fec24c1c.js new file mode 100644 index 0000000..672be2a --- /dev/null +++ b/js/app.fec24c1c.js @@ -0,0 +1,2 @@ +(function(){"use strict";var e={2798:function(e,n,t){var r=t(9242),o=t(2483),a=t(3396);function i(e,n,t,r,o,i){const s=(0,a.up)("router-view");return(0,a.wg)(),(0,a.j4)(s)}var s={name:"App"},c=t(89);const d=(0,c.Z)(s,[["render",i]]);var l=d,u=t(7139);const p=e=>((0,a.dD)("data-v-64799410"),e=e(),(0,a.Cn)(),e),h={class:"landing-page"},m=p((()=>(0,a._)("h1",null,"Welcome to The Virtuous Graph",-1))),g=p((()=>(0,a._)("h3",null,"Graph as Code; Code as Graph",-1))),f=p((()=>(0,a._)("p",null,"Our motto represents our vision of programming: taking a graph-centric approach to programming itself - to visualize the program as a graph and ultimately to modify a graph to modify a program.",-1))),v=p((()=>(0,a._)("p",null,"Graphs come from many sources and are manifested in many forms. While we contend code is itself a graph, in terms of data, the most common source by far are spreadsheets. Manifesting spreadsheets as graphs include the pure visualization, our favorite being 3D, and the operational, our preferred choice unquestionably being the Labeled Property Graph from Neo4j.",-1))),_=p((()=>(0,a._)("h2",null,"Graphs:",-1))),w={class:"gallery"},E=["src","alt"],T=p((()=>(0,a._)("p",null,"Both the 3D view and the Cypher code were generated from our RadialNEXUS manifest script. The script takes a data spreadsheet and a mapping spreadsheet. The data spreadsheet has rows and columns for representing the data in a domain. The mapping spreadsheet maps the columns in the data spreadsheet to the nodes and attributes in the graph representation along with the edges between those nodes. We're in the process of packaging the code further but like to gauge interest first. Please email me at michaelbauer.com if you'd like to learn more.",-1))),O=p((()=>(0,a._)("footer",null,"© Copyright 2024 RadialNexus",-1)));function S(e,n,t,r,o,i){const s=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",h,[m,g,f,v,_,(0,a._)("div",w,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(o.graphs,((e,n)=>((0,a.wg)(),(0,a.iD)("div",{class:"gallery-item",key:n},[(0,a._)("h3",null,(0,u.zw)(e.title),1),(0,a._)("p",null,(0,u.zw)(e.headline),1),(0,a.Wm)(s,{to:e.route},{default:(0,a.w5)((()=>[(0,a._)("img",{src:e.imageSrc,alt:e.title},null,8,E)])),_:2},1032,["to"]),(0,a._)("p",null,(0,u.zw)(e.description),1)])))),128))]),T,O])}var y={name:"LandingPage",data(){return{graphs:[{title:"Trees",headline:"Exceptional Trees in Hawaii: 3D",description:"This is the transformation of a spreadsheet of Exceptional Trees in Hawaii, their names, species, locations, and island, into a 3D Force Graph. The 3D view allows some new perspective for exploring a dataset.",imageSrc:t(4090),route:"/trees"},{title:"Trees",headline:"Exceptional Trees in Hawaii: Cypher",description:"This is the transformation of a spreadsheet of Exceptional Trees in Hawaii, their names, species, locations, and island, into Cypher Code.",imageSrc:t(6259),route:"/codes"},{title:"Colors",headline:"Recursive generation of RGB colors",description:"This shows two things. First, the progression of colors as fixed, incremental changes are made in one of the color dimensions. Second, the recursion itself is revealed as changes are made along the different dimensions and until all changes are completed.",imageSrc:t(2923),route:"/colors"}]}}};const b=(0,c.Z)(y,[["render",S],["__scopeId","data-v-64799410"]]);var R=b;const x={id:"trees-graph"};function H(e,n,t,r,o,i){return(0,a.wg)(),(0,a.iD)("div",x)}var D=t(4274),A={name:"TreesGraph",mounted(){fetch("domain/trees.json").then((e=>e.json())).then((e=>{const n=(0,D.Z)()(this.$el);n.graphData(e)})).catch((e=>console.error(e)))}};const L=(0,c.Z)(A,[["render",H],["__scopeId","data-v-4721e071"]]);var C=L;const I={id:"colors-graph"};function M(e,n,t,r,o,i){return(0,a.wg)(),(0,a.iD)("div",I)}var W=t(1114);function G(e){e=e.replace(/^#/,"");const n=parseInt(e,16),t=n>>16&255,r=n>>8&255,o=255&n;return`rgb(${t}, ${r}, ${o})`}var N={name:"ColorsGraph",mounted(){fetch("domain/colors.json").then((e=>e.json())).then((e=>{const n=(0,D.Z)()(this.$el);n.graphData(e).nodeThreeObject((e=>{const n=new W.Kj0(new W.xo$(12),new W.vBJ({color:G(e.color)}));return n})).linkColor((()=>"rgba(255, 255, 255, 0.5)")).linkOpacity(.5)})).catch((e=>console.error(e)))}};const q=(0,c.Z)(N,[["render",M],["__scopeId","data-v-32acb1d8"]]);var j=q;const k=e=>((0,a.dD)("data-v-3d4a44bd"),e=e(),(0,a.Cn)(),e),F={class:"cypher-code"},V=k((()=>(0,a._)("pre",null,[(0,a._)("code",null,"\n\n# Loading Nodes from ../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\nquery = '''\nLOAD CSV WITH HEADERS FROM \"file:///../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\" AS row\n\tWITH row\n\tWHERE row.id IS NOT NULL\n\tMERGE (tree:Tree {id:toString(row.id)})\n\t\tSET tree.name = row.common_name\n\t\tSET tree.height = row.height\n\t\tSET tree.diameter = row.diameter\n\t\tSET tree.circumference = row.circumference\n\t\tSET tree.description = row.information\n\n'''\ngraph.run(query)\n\n# Loading Nodes from ../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\nquery = '''\nLOAD CSV WITH HEADERS FROM \"file:///../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\" AS row\n\tWITH row\n\tWHERE row.species_code IS NOT NULL\n\tMERGE (species:Species {id:toString(row.species_code)})\n\t\tSET species.name = row.scientific_name\n\n'''\ngraph.run(query)\n\n# Loading Nodes from ../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\nquery = '''\nLOAD CSV WITH HEADERS FROM \"file:///../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\" AS row\n\tWITH row\n\tWHERE row.name IS NOT NULL\n\tMERGE (location:Location {id:toString(row.name)})\n\t\tSET location.name = row.location\n\t\tSET location.latitude = row.latitude\n\t\tSET location.longitude = row.longitude\n\n'''\ngraph.run(query)\n\n# Loading Nodes from ../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\nquery = '''\nLOAD CSV WITH HEADERS FROM \"file:///../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\" AS row\n\tWITH row\n\tWHERE row.island_abbv IS NOT NULL\n\tMERGE (island:Island {id:toString(row.island_abbv)})\n\t\tSET island.name = row.island_name\n\n'''\ngraph.run(query)\n\n# Loading Relationships from ../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\nquery = '''\nLOAD CSV WITH HEADERS FROM \"file:///../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\" AS row\n\tMATCH (source:Tree {id: toString(row.id)}), (target:Location {id: toString(row.name)})\n\t\tMERGE(source)-[edge:IN_A]->(target)\n'''\ngraph.run(query)\n\n# Loading Relationships from ../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\nquery = '''\nLOAD CSV WITH HEADERS FROM \"file:///../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\" AS row\n\tMATCH (source:Tree {id: toString(row.id)}), (target:Species {id: toString(row.species_code)})\n\t\tMERGE(source)-[edge:IS_A]->(target)\n'''\ngraph.run(query)\n\n# Loading Relationships from ../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\nquery = '''\nLOAD CSV WITH HEADERS FROM \"file:///../domain/trees/csv/data/Exceptional_Trees_On_Oahu.csv\" AS row\n\tMATCH (source:Location {id: toString(row.name)}), (target:Island {id: toString(row.island_abbv)})\n\t\tMERGE(source)-[edge:ON_A]->(target)\n'''\ngraph.run(query)\n\n\t")],-1))),Z=[V];function P(e,n,t,r,o,i){return(0,a.wg)(),(0,a.iD)("div",F,Z)}var $={name:"CypherCode"};const z=(0,c.Z)($,[["render",P],["__scopeId","data-v-3d4a44bd"]]);var U=z;const B=(0,o.p7)({history:(0,o.PO)(),routes:[{path:"/",component:R},{path:"/trees",component:C},{path:"/colors",component:j},{path:"/codes",component:U}]}),K=(0,r.ri)(l);K.use(B),K.mount("#app")},6259:function(e,n,t){e.exports=t.p+"img/code.746f4ea3.png"},2923:function(e,n,t){e.exports=t.p+"img/colors.5df2b206.png"},4090:function(e,n,t){e.exports=t.p+"img/trees.716e32e2.png"}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var a=n[r]={exports:{}};return e[r].call(a.exports,a,a.exports,t),a.exports}t.m=e,function(){var e=[];t.O=function(n,r,o,a){if(!r){var i=1/0;for(l=0;l=a)&&Object.keys(t.O).every((function(e){return t.O[e](r[c])}))?r.splice(c--,1):(s=!1,a0&&e[l-1][2]>a;l--)e[l]=e[l-1];e[l]=[r,o,a]}}(),function(){t.n=function(e){var n=e&&e.__esModule?function(){return e["default"]}:function(){return e};return t.d(n,{a:n}),n}}(),function(){t.d=function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})}}(),function(){t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)}}(),function(){t.p="/"}(),function(){var e={143:0};t.O.j=function(n){return 0===e[n]};var n=function(n,r){var o,a,i=r[0],s=r[1],c=r[2],d=0;if(i.some((function(n){return 0!==e[n]}))){for(o in s)t.o(s,o)&&(t.m[o]=s[o]);if(c)var l=c(t)}for(n&&n(r);d\n \n\n\n\n\n","import { render } from \"./App.vue?vue&type=template&id=9b61d254\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=9b61d254&lang=css\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n\n\n\n\n\n","import { render } from \"./LandingPage.vue?vue&type=template&id=64799410&scoped=true\"\nimport script from \"./LandingPage.vue?vue&type=script&lang=js\"\nexport * from \"./LandingPage.vue?vue&type=script&lang=js\"\n\nimport \"./LandingPage.vue?vue&type=style&index=0&id=64799410&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-64799410\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./TreesGraph.vue?vue&type=template&id=4721e071&scoped=true\"\nimport script from \"./TreesGraph.vue?vue&type=script&lang=js\"\nexport * from \"./TreesGraph.vue?vue&type=script&lang=js\"\n\nimport \"./TreesGraph.vue?vue&type=style&index=0&id=4721e071&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4721e071\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./ColorsGraph.vue?vue&type=template&id=32acb1d8&scoped=true\"\nimport script from \"./ColorsGraph.vue?vue&type=script&lang=js\"\nexport * from \"./ColorsGraph.vue?vue&type=script&lang=js\"\n\nimport \"./ColorsGraph.vue?vue&type=style&index=0&id=32acb1d8&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-32acb1d8\"]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./CypherCode.vue?vue&type=template&id=3d4a44bd&scoped=true\"\nimport script from \"./CypherCode.vue?vue&type=script&lang=js\"\nexport * from \"./CypherCode.vue?vue&type=script&lang=js\"\n\nimport \"./CypherCode.vue?vue&type=style&index=0&id=3d4a44bd&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3d4a44bd\"]])\n\nexport default __exports__","// Import Vue from the 'vue' package\nimport { createApp } from 'vue';\n// Import VueRouter from the 'vue-router' package\nimport { createRouter, createWebHistory } from 'vue-router';\n// Import App.vue component\nimport App from './App.vue';\n// Import LandingPage.vue component\nimport LandingPage from './views/LandingPage.vue';\n// Import TreesGraph.vue component\nimport TreesGraph from './views/TreesGraph.vue';\n// Import ColorsGraph.vue component\nimport ColorsGraph from './views/ColorsGraph.vue';\n// Import Code.vue component\nimport CypherCode from './views/CypherCode.vue';\n\n// Create a Vue Router instance\nconst router = createRouter({\n history: createWebHistory(),\n routes: [\n { path: '/', component: LandingPage },\n { path: '/trees', component: TreesGraph },\n { path: '/colors', component: ColorsGraph },\n { path: '/codes', component: CypherCode }\n ]\n});\n\n// Create a Vue app instance\nconst app = createApp(App);\n\n// Use Vue Router with the Vue app instance\napp.use(router);\n\n// Mount the Vue app to the DOM\napp.mount('#app');\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkvue\"] = self[\"webpackChunkvue\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(2798); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_createBlock","_component_router_view","name","__exports__","render","class","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_Fragment","_renderList","$data","graphs","graph","index","key","_toDisplayString","title","headline","_createVNode","_component_router_link","to","route","default","_withCtx","src","imageSrc","alt","_hoisted_8","_","description","_hoisted_9","_hoisted_10","data","require","id","mounted","fetch","then","res","json","myGraph","ForceGraph3D","this","$el","graphData","catch","err","console","error","hexToRgb","hex","replace","bigint","parseInt","r","g","b","nodeThreeObject","node","obj","THREE","color","linkColor","linkOpacity","router","createRouter","history","createWebHistory","routes","path","component","LandingPage","TreesGraph","ColorsGraph","CypherCode","app","createApp","App","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","splice","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","globalThis","Function","e","window","prop","prototype","hasOwnProperty","p","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","forEach","bind","push","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file