Code Monkey home page Code Monkey logo

kg's Introduction

struct-ure/kg

struct-ure/kg is a self-contained knowledge graph (KG) of tech skills and IT stuff (software, platforms, etc.). It presents a GraphQL API to retrieve information from the graph. Transparent management of the structure and content of the graph is accomplished using git. "Editing" the KG is as simple as making changes to directories and files.

Features

  • simple to contribute (fork -> edit files -> submit pr)
  • single Docker image
  • multilingual
  • integration with Wikidata
  • GraphQL API

What can I do with it?

  • replace simple tag concepts in your software with identifiers from the graph, e.g., "C" becomes https://struct-ure.org/kg/it/programming-languages/c
  • query the entire graph to build a tree-control to present tech skills and software in a UI (for example: this)
  • fork the repo and add your company/domain-specific knowledge for use within your organization
  • find nodes that have a particular category, e.g., all database nodes that are graph-oriented
  • find nodes by known aliases, e.g., "Golang" is an alias for the programming language "Go"
  • let your AI infer relationships, e.g., "EC2" is a part of "AWS" which is part of "Cloud Computing" which is part of "IT"

Quick start

docker run -it -p 8080:8080 structureorg/kg

then, query the graph using your favorite GraphQL tool at http://localhost:8080/graphql. See the /query folder for example queries.

Images for both amd64 and arm64 are available on Dockerhub.

Contributing

At present the KG contains over 1,700 concepts โ€” everything from programming languages to electronic health care systems. While a promising start, there's still so much more to add! We're hopeful that domain experts, companies and tech enthusiasts will help move the KG forward.

Additions and improvements to the KG are accomplished by editing the directory and file structure under the /root folder. Please fork this repo and create a pull request with your changes/additions. For more detail on conventions used in the /root folder and how to add/edit KG entries, please see CONTRIBUTING.md. For simple fixes (e.g., a spelling error, feel free to open an issue).

Questions

Please use the Discussions board for questions and suggestions.

Versioning

struct-ure/kg uses timestamp-based versioning in the YY.MM.DD format. The first version, 23.01.19, was tagged on January 19, 2023. You can query the KG's current version via GraphQL queryVersion {version}.

Technology

struct-ure/kg is built upon Dgraph, a horizontally scalable and distributed GraphQL database with a graph backend. struct-ure/kg is deployed as a simple single-node cluster in its published Docker image. At present, the KG has fewer than 60k edges (Dgraph can support graphs with hundreds of millions of edges when deployed in a high-availability configuration).

The tools used to build graph-compatible import files are written in Go.

To Do

  • move the graph build and image publish steps to Github actions
  • investigate other non-IT domains for inclusion into the KG

kg's People

Contributors

matthewmcneely 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.