{"id":14959414,"url":"https://github.com/nhogs/popoto","last_synced_at":"2025-05-15T00:07:27.781Z","repository":{"id":26636282,"uuid":"30092104","full_name":"Nhogs/popoto","owner":"Nhogs","description":"Visual query builder for Neo4j graph database","archived":false,"fork":false,"pushed_at":"2024-10-22T08:16:13.000Z","size":1285,"stargazers_count":522,"open_issues_count":19,"forks_count":72,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-05-15T00:07:21.800Z","etag":null,"topics":["cypher","cypher-query","cypher-query-builder","graph","neo4j","neo4j-database","popoto"],"latest_commit_sha":null,"homepage":"http://popotojs.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nhogs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["nhogs"]}},"created_at":"2015-01-30T21:45:01.000Z","updated_at":"2025-04-29T15:26:02.000Z","dependencies_parsed_at":"2024-01-03T05:04:21.216Z","dependency_job_id":"44093c8e-5c4d-4c74-8fea-178c80a3cb9a","html_url":"https://github.com/Nhogs/popoto","commit_stats":{"total_commits":151,"total_committers":5,"mean_commits":30.2,"dds":"0.26490066225165565","last_synced_commit":"258c73a3f9a45f543090ebfbd317403ded982feb"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nhogs%2Fpopoto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nhogs%2Fpopoto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nhogs%2Fpopoto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nhogs%2Fpopoto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nhogs","download_url":"https://codeload.github.com/Nhogs/popoto/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254249197,"owners_count":22039029,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cypher","cypher-query","cypher-query-builder","graph","neo4j","neo4j-database","popoto"],"created_at":"2024-09-24T13:19:39.471Z","updated_at":"2025-05-15T00:07:22.748Z","avatar_url":"https://github.com/Nhogs.png","language":"JavaScript","funding_links":["https://github.com/sponsors/nhogs"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003ca href=\"https://github.com/Nhogs/popoto\" target=\"_blank\"\u003e\u003cimg alt=\"popoto logo\" width=\"301\" src=\"https://raw.githubusercontent.com/wiki/Nhogs/popoto/img/logo.png\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n[![CI](https://github.com/nhogs/popoto/actions/workflows/ci.yml/badge.svg)](https://github.com/Nhogs/popoto/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/popoto.svg)](https://www.npmjs.com/package/popoto)\n[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![Maintainability](https://api.codeclimate.com/v1/badges/d00736e10d4c630c2010/maintainability)](https://codeclimate.com/github/Nhogs/popoto/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/d00736e10d4c630c2010/test_coverage)](https://codeclimate.com/github/Nhogs/popoto/test_coverage)\n\n[Popoto.js](https://github.com/Nhogs/popoto) is a JavaScript library built with [D3.js](https://d3js.org) designed to create interactive and customizable visual query builder for [Neo4j](https://neo4j.com) graph databases.\n\nThe graph queries are translated into Cypher and run on the database. Popoto also helps to display and customize the results.\n\nAn application is composed of various components, each one can be included independently anywhere in a web application.\nIt just needs to be bound to a container ID in an HTML page and the content will be generated automatically.\n\nA common example application contains the following components: \n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://github.com/Nhogs/popoto/wiki\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/wiki/Nhogs/popoto/img/main-eclate.png\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n\u003ctable width=\"100%\"\u003e\n    \u003ctr valign=\"middle\"\u003e\n        \u003ctd width=\"50px\" align=\"center\"\u003e\u003ca href=\"https://github.com/Nhogs/popoto/wiki/Graph\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/wiki/Nhogs/popoto/img/count/1.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"*\"\u003e\u003ca href=\"https://github.com/Nhogs/popoto/wiki/Graph\"\u003e\u003cb\u003eGraph\u003c/b\u003e\u003c/a\u003e component is an interactive interface designed to build queries for non technical users, the graph is made of selectable nodes connected to each other by links.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr valign=\"middle\"\u003e\n        \u003ctd  width=\"50px\" align=\"center\"\u003e\u003ca href=\"https://github.com/Nhogs/popoto/wiki/Toolbar\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/wiki/Nhogs/popoto/img/count/2.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"*\"\u003e\u003ca href=\"https://github.com/Nhogs/popoto/wiki/Toolbar\"\u003e\u003cb\u003eToolbar\u003c/b\u003e\u003c/a\u003e is a list of actions available in the graph container.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr valign=\"middle\"\u003e\n        \u003ctd width=\"50px\" align=\"center\"\u003e\u003ca href=\"https://github.com/Nhogs/popoto/wiki/Taxonomy\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/wiki/Nhogs/popoto/img/count/3.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"*\"\u003e\u003ca href=\"https://github.com/Nhogs/popoto/wiki/Taxonomy\"\u003e\u003cb\u003eTaxonomy\u003c/b\u003e\u003c/a\u003e container contains the list of searchable labels in the database.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr valign=\"middle\"\u003e\n        \u003ctd width=\"50px\" align=\"center\"\u003e\u003ca href=\"https://github.com/Nhogs/popoto/wiki/Query\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/wiki/Nhogs/popoto/img/count/4.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"*\"\u003e\u003ca href=\"https://github.com/Nhogs/popoto/wiki/Query\"\u003e\u003cb\u003eQuery\u003c/b\u003e\u003c/a\u003e viewers container shows different representation of the corresponding query defined in the Graph component.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr valign=\"middle\"\u003e\n        \u003ctd width=\"50px\" align=\"center\"\u003e\u003ca href=\"https://github.com/Nhogs/popoto/wiki/Result\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/wiki/Nhogs/popoto/img/count/5.png\"\u003e\u003c/a\u003e\u003c/td\u003e\n        \u003ctd width=\"*\"\u003e\u003ca href=\"https://github.com/Nhogs/popoto/wiki/Result\"\u003e\u003cb\u003eResult\u003c/b\u003e\u003c/a\u003e container displays the results matching the graph query.\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n## Resources\n* [Examples](https://github.com/Nhogs/popoto-examples)\n* [Wiki](https://github.com/Nhogs/popoto/wiki)\n\n## Install\nFor NPM, `npm install popoto` For Yarn, `yarn add popoto`.\n\n[![NPM](https://nodei.co/npm/popoto.png?compact=true)](https://www.npmjs.com/package/popoto)\n\nOtherwise, download the [latest release](https://github.com/Nhogs/popoto/releases/latest).\n \nYou can also load directly from [unpkg](https://unpkg.com/popoto/) or [jsDelivr](https://www.jsdelivr.com/package/npm/popoto)\n\nExample:\n```html\n\u003c!-- Add default CSS reference --\u003e\n\u003clink rel=\"stylesheet\" href=\"https://unpkg.com/popoto/dist/popoto.min.css\"\u003e\n\u003c!-- Or --\u003e\n\u003clink rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/popoto/dist/popoto.min.css\"\u003e\n```\n\n```html\n\u003c!-- Add Popoto script reference, will default to popoto.min.js --\u003e\n\u003cscript src=\"https://unpkg.com/popoto\"\u003e\u003c/script\u003e\n\u003c!-- Or --\u003e\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/popoto/dist/popoto.min.js\"\u003e\u003c/script\u003e\n```\n\nFor source version:\n```html\n\u003c!-- Add Popoto script reference --\u003e\n\u003cscript src=\"https://unpkg.com/popoto/dist/popoto.js\"\u003e\u003c/script\u003e\n\u003c!-- Or --\u003e\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/popoto/dist/popoto.js\"\u003e\u003c/script\u003e\n```\n\n## Quick start guide:\n - Edit the \"index.html\" file, by default this application is based on Neo4j movie graph example.\n - Create your driver instance following Neo4j developer guide: https://neo4j.com/developer/javascript/\n```javascript\nconst driver = neo4j.driver(\n    \"neo4j://dff437fa.databases.neo4j.io\", // Unencrypted \n    //\"neo4j+s://dff437fa.databases.neo4j.io\", //Encrypted with Full Certificate\n    neo4j.auth.basic(\"popoto\", \"popotopassword\"),\n    //{disableLosslessIntegers: true} // Enabling native numbers\n);\n```\n - Change the value of `popoto.runner.DRIVER = driver` to your running server driver instance.\n - If needed you can change the default session creation to add parameters:\n```javascript\npopoto.runner.createSession = function () {\n    return runner.DRIVER.session({defaultAccessMode: \"READ\"})\n};\n```\n - Update the list of labels defined in \"popoto.provider.node.Provider\" definition. All node labels to display in the graph should be added in this list.\n - Add any other customization you need in this file. See [Nhogs/popoto-examples](https://github.com/Nhogs/popoto-examples) for detailed configuration examples.\n - Open index.html file in your preferred web browser to see the result.\n - Click on a node to display and select a value, click on relationship arcs around nodes to navigate in relations uses right click to remove a value and ctrl+click to negate a node. See all [Basic actions](https://github.com/Nhogs/popoto/wiki/Basic-action) for details\n\nSee an explained example page source in [Getting started](https://github.com/Nhogs/popoto/wiki/Getting-started).\n\n ## License\n[GPL-3.0](https://www.gnu.org/licenses/gpl-3.0)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnhogs%2Fpopoto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnhogs%2Fpopoto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnhogs%2Fpopoto/lists"}