Awesome Open Source
Awesome Open Source


DOI Licence Repo size GitHub commit activity Checked with mypy security: bandit Language grade: Python

Welcome to graph-based data science:

The kglab library provides a simple abstraction layer in Python 3.6+ for building knowledge graphs.

Which features would you like in an open source Python library for building knowledge graphs?
Please add your suggestions through this survey:
This will help us prioritize the kglab roadmap.

Getting Started

See the "Getting Started" section of the online documentation.

To install from PyPi:

python3 -m pip install kglab

If you work directly from this Git repo, be sure to install the dependencies as well:

python3 -m pip install -r requirements.txt

Alternatively, to install dependencies using conda:

conda env create -f environment.yml
conda activate kglab

Then to run some simple uses of this library:

import kglab

# create a KnowledgeGraph object
kg = kglab.KnowledgeGraph()

# load RDF from a URL
kg.load_rdf("", format="xml")

# measure the graph
measure = kglab.Measure()

print("edges: {}\n".format(measure.get_edge_count()))
print("nodes: {}\n".format(measure.get_node_count()))

# serialize as a string in "Turtle" TTL format
ttl = kg.save_rdf_text()

See the tutorial notebooks in the examples subdirectory for sample code and patterns to use in integrating kglab with other graph libraries in Python:

Contributing Code

We welcome people getting involved as contributors to this open source project!

For detailed instructions please see:

Build Instructions Note: unless you are contributing code and updates, in most use cases won't need to build this package locally.

Instead, simply install from PyPi or use Conda.

To set up the build environment locally, see the "Build Instructions" section of the online documentation.

Semantic Versioning

Before kglab reaches release v1.0.0 the types and classes may undergo substantial changes and the project is not guaranteed to have a consistent API.

Even so, we'll try to minimize breaking changes. We'll also be sure to provide careful notes.

See: changelog.txt

illustration of a knowledge graph, plus laboratory glassware

License and Copyright

Source code for kglab plus its logo, documentation, and examples have an MIT license which is succinct and simplifies use in commercial applications.

All materials herein are Copyright © 2020-2021 Derwen, Inc.


Please use the following BibTeX entry for citing kglab if you use it in your research or software. Citations are helpful for the continued development and maintenance of this library.

  author = {Paco Nathan},
  title = {{kglab: a simple abstraction layer in Python for building knowledge graphs}},
  year = 2020,
  publisher = {Derwen},
  doi = {10.5281/zenodo.4602403},
  url = {}


Many thanks to our open source sponsors; and to our contributors: @ceteri, @gauravjaglan, @louisguitton, @jake-aft, @dmoore247, plus general support from Derwen, Inc., KFocus, the NVidia RAPIDS team, the KGC Community, Connected Data London, and Manning Publications.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
jupyter-notebook (6,027
pandas (247
knowledge-graph (120
neo4j (99
inference (95
graph-algorithms (78
json-ld (47
sparql (45
parquet (38
networkx (25
owl (23

Find Open Source By Browsing 7,000 Topics Across 59 Categories