GithubHelp home page GithubHelp logo

isabella232 / landscape-graph Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cncf/landscape-graph

0.0 0.0 0.0 0 B

Data Model (Labeled Property Graph) --> graph.cncf.io

Home Page: https://cncf.github.io/landscape-graph

License: Other

TypeScript 100.00%

landscape-graph's Introduction

CNCF Landscape Graph

⚠️ Initial, open, active development. ⚠️

Join us @ #landscape-graph. Here's our plan.


In November of 2018 there were 25 CNCF projects.

At the time Ayrat Khayretdinov published the "Beginner's Guide to the CNCF Landscape." It opened with:

The cloud native landscape can be complicated and confusing. Its myriad of open source projects are supported by the constant contributions of a vibrant and expansive community. The Cloud Native Computing Foundation (CNCF) has a landscape map that shows the full extent of cloud native solutions, many of which are under their umbrella.

It described the CNCF Mission in these terms:

The CNCF fosters this landscape of open source projects by helping provide end-user communities with viable options for building cloud native applications. By encouraging projects to collaborate with each other, the CNCF hopes to enable fully-fledged technology stacks comprised solely of CNCF member projects. This is one way that organizations can own their destinies in the cloud.

We. Have. Grown.

Today there are 5.4 million humans using Kubernetes and the landscape continues to expand.

2022 Q2 Cards cap funding
projects 111 614,394 $291.4 M $29.6 M
ecosystem 1,061 3,066,372 $15.7 T $29.1 B

We have a "good" problem

The CNCF Landscape aggregates summary data from GitHub, Crunchbase, Yahoo Finance, Twitter, and other sources while providing the ability quickly find, filter, and group the more than 1000 Cards and is updated daily, automatically. It continues to work as designed.

landscape-all

With a single well placed click wealth of data can be summoned.

neo4j-card

This is perfect when we know what we're looking for (specifically).

Often, we need to understand how a project interacts with others, how it's changing over time, and who's enabling it's continued success. We want to understand what alternatives exist, or how complementary projects might be combined in purpose-fit or novel ways. This is how projects and ecosystems grow to meet the business challenges that face modern organizations irrespective of domain.

Graphs can facilitate rich analysis of our vibrant and dynamic communities, the humans they comprise, and clusters of contribution and thought leadership they produce.

How can a graph help us?

Current Quests and Questions. Please add your own; they are the reason for this!

Questions

  • for a set of projects, for all repos by release, show package dependency trees, overlaid with current CVE announcements w/ reporting and alerting as necessary.

  • for a set of projects' contributors, who employed them whilst they contributed? Who funded those organizations? Who owns them? What else did they invest in?

  • How does investment flow through the Landscape? Who maintains what? Who uses it?

  • Identify communities. Understand how they interact. Comprehend how they collaborate with each other.

  • Grok groupings of frequent code review <-> author interactions across projects.

  • Facilitate generation of Dora metrics in-rears from historical GitHub data for all CNCF projects. (more on DORA).

  • Are popularity and market cap correlated?

  • What companies are using which projects? What vendors support that?

  • What happened in Twitter last week related to my project?

Technical TLDR

Component What
Neo4j Graph Database
Neo4j ETL https://neo4j.com/labs/etl-tool
gitbase Git history as MySQL, src-d/gitbase
JavaFX UI, 3d, openjfx.io
Quarkus AoT, minify, Dev UX, quarkus.io

Using the data underlying the existing landscape as input, a Labeled Property Graph (LPG) is constructed using Cypher (SQL for Graphs), resulting in a Neo4j graph database.

Landscape Graph Data Model

landscape-graph-data-model

Graph Data Science Algorithms ("Why Neo4j?")

https://neo4j.com/developer/graph-data-science/graph-algorithms

Graph Databases “perform the join on insert” instead of query time. No joins or table scans required.

A graph data model (vs. rectangular relational) can bring to bear all that we’ve learned from ad/fin/security tech, big data, ml, etc.

graph-data-science-pic

Graph Data Science Algorithm Types

Docs --> https://neo4j.com/docs/graph-data-science/current

Type Definition
Path Finding Help find the shortest path or evaluate the availability and quality of routes
Centrality Determine the importance of distinct nodes in a network
Community Detection Evaluate how a group is clustered or partitioned, as well as its tendency to strengthen or break apart
Similarity Help calculate the similarity of nodes
Topological link prediction Determine the closeness of pairs of nodes
Node Embeddings Ccompute vector representations of nodes in a graph.
Node Classification Uses machine learning to predict the classification of nodes.
Link prediction Use machine learning to predict new links between pairs of nodes.

Cypher ("SQL for Graphs")

https://github.com/opencypher/openCypher

Cypher is a declarative graph query language that allows for expressive and efficient querying, updating and administering of the graph. It is designed to be suitable for both developers and operations professionals. Cypher is designed to be simple, yet powerful; highly complicated database queries can be easily expressed, enabling you to focus on your domain, instead of getting lost in database access.

On its influences and roots:

Cypher is inspired by a number of different approaches and builds on established practices for expressive querying. Many of the keywords, such as WHERE and ORDER BY, are inspired by SQL. Pattern matching borrows expression approaches from SPARQL. Some of the list semantics are borrowed from languages such as Haskell and Python. Cypher’s constructs, based on English prose and neat iconography, make queries easy, both to write and to read.

How to Contribute

License

This repository contains data received from Crunchbase. This data is not licensed pursuant to the Apache License. It is subject to Crunchbase’s Data Access Terms, available at https://data.crunchbase.com/docs/terms, and is only permitted to be used with Linux Foundation landscape projects.

Everything else is under the Apache License, Version 2.0, except for project and product logos, which are generally copyrighted by the company that created them, and are simply cached here for reliability.

landscape-graph's People

Contributors

flat-data avatar halcyondude avatar jeefy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.