{"id":45171865,"url":"https://github.com/dbs-leipzig/gradoop_demo","last_synced_at":"2026-02-20T08:30:39.167Z","repository":{"id":56618827,"uuid":"79349430","full_name":"dbs-leipzig/gradoop_demo","owner":"dbs-leipzig","description":"Demo application for GRADOOP operators","archived":false,"fork":false,"pushed_at":"2020-04-27T08:09:31.000Z","size":6671,"stargazers_count":24,"open_issues_count":5,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-13T03:41:20.698Z","etag":null,"topics":["graph-algorithms","graph-visualization","property-graph"],"latest_commit_sha":null,"homepage":"http://www.gradoop.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dbs-leipzig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-18T14:45:50.000Z","updated_at":"2025-09-05T03:13:41.000Z","dependencies_parsed_at":"2022-08-15T22:01:03.774Z","dependency_job_id":null,"html_url":"https://github.com/dbs-leipzig/gradoop_demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dbs-leipzig/gradoop_demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbs-leipzig%2Fgradoop_demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbs-leipzig%2Fgradoop_demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbs-leipzig%2Fgradoop_demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbs-leipzig%2Fgradoop_demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dbs-leipzig","download_url":"https://codeload.github.com/dbs-leipzig/gradoop_demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbs-leipzig%2Fgradoop_demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29645812,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T05:21:04.652Z","status":"ssl_error","status_checked_at":"2026-02-20T05:21:04.238Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["graph-algorithms","graph-visualization","property-graph"],"created_at":"2026-02-20T08:30:38.324Z","updated_at":"2026-02-20T08:30:39.162Z","avatar_url":"https://github.com/dbs-leipzig.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Demo application for GRADOOP\n\n### Description\n\nProperty graphs are an intuitive way to model, analyze and visualize complex relationships among heterogeneous data objects, for example, as they occur in social, biological and information networks. These graphs typically contain thousands or millions of vertices and edges and their entire representation can easily overwhelm an analyst.\n\n[GRADOOP](http://www.gradoop.com) is an open-source system for graph analytics that enables handling of such graphs. GRADOOP is implemented on top of [Apache Flink](http://flink.apache.org), a state-of-the-art distributed dataflow framework, and thus allows us to scale graph analytical programs across multiple machines.\n\nIn this application we demonstrate two GRADOOP operators: [Graph Grouping](http://dbs.uni-leipzig.de/file/BTW17_Grouping_Research.pdf) and [Cypher-based Graph Pattern Matching](https://dbs.uni-leipzig.de/file/GRADES17_Cypher_in_Gradoop.pdf). A user can choose between different input graphs and adjust the operator parameters. The computation is executed on the user machine by automatically starting an Apache Flink cluster.\n\n#### Graph Grouping \n\nOne way to reduce complexity of a large property graph is the grouping of vertices and edges to summary graphs. We developed an algorithm for graph grouping with support for attribute aggregation and structural summarization by user-defined vertex and edge properties. The operation is very similar to a GROUP BY operation known from relational databases but in addition summarizes the graph structure according to the computed vertex and edge groups.\n\n![screenshot](demo_grouping.png)\n\n#### Cypher-based graph pattern matching\n\nGraph pattern matching is an important and challenging operation on graph data. Typical use cases are related to graph analytics. Since analysts are often non-programmers, a graph system will only gain acceptance, if there is a comprehensible way to declare pattern matching queries. However, respective query languages are currently only supported by graph databases but not by distributed graph processing systems. To enable pattern matching on a large scale, we implemented core features of the declarative graph query language [Cypher](https://neo4j.com/developer/cypher-query-language/) within GRADOOP.\n\n![screenshot](demo_cypher.png)\n\n### Demo Instructions\n\n* Clone the repo\n* `$ mvn clean install`\n* `$ mvn exec:java -Dexec.mainClass=\"org.gradoop.demo.server.Server\"`\n* Navigate to `http://localhost:2342/gradoop/html/grouping.html` or `http://localhost:2342/gradoop/html/cypher.html`\n* Select data set from drop down list\n* Enjoy\n\n#### Add new graphs\n\n* Create a CSV graph using Gradoop (see [gradoop-examples](https://github.com/dbs-leipzig/gradoop/tree/master/gradoop-examples/src/main/java/org/gradoop/examples/io))\n* Copy CSV graph to `src/main/resources/data`\n* Add it to the input graph drop-down of the html files\n* Restart the server\n\n### Awards\n\n* [Best Demo Award BTW 2017](http://btw2017.informatik.uni-stuttgart.de/?pageId=Awards\u0026language=de)\n\n### Further reading\n\n* [Cypher-based Graph Pattern Matching in Gradoop, GRADES 2017, May 2017](https://dbs.uni-leipzig.de/file/GRADES17_Cypher_in_Gradoop.pdf)\n* [Distributed Grouping of Property Graphs with GRADOOP, BTW Conf., March 2017](http://dbs.uni-leipzig.de/file/BTW17_Grouping_Research.pdf)\n* [Extended Property Graphs with Apache Flink, SIGMOD NDA Workshop, June 2016](http://dbs.uni-leipzig.de/file/EPGM.pdf)\n* [Gradoop Source Code](http://www.gradoop.com)\n* [Gradoop Project Page, University of Leipzig](http://dbs.uni-leipzig.de/research/projects/gradoop)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbs-leipzig%2Fgradoop_demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdbs-leipzig%2Fgradoop_demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbs-leipzig%2Fgradoop_demo/lists"}