# kglab
[](https://doi.org/10.5281/zenodo.6360664)



[](http://mypy-lang.org/)
[](https://github.com/PyCQA/bandit)
[](https://hub.docker.com/r/derwenai/kglab/)

Welcome to *Graph Data Science*:
<https://derwen.ai/docs/kgl/>
The **kglab** library provides a simple abstraction layer in Python 3.11-3.12
for building knowledge graphs, leveraging Pandas, NetworkX, RAPIDS, RDFLib,
Morph-KGC, and many more.
## Getting Started
See the ["Getting Started"](https://derwen.ai/docs/kgl/start/)
section of the online documentation.
# pip
```bash
python3 -m pip install kglab
```
# poetry
```bash
poetry add kglab
```
# conda
```bash
conda env create -n kglab
conda activate kglab
pip install kglab
```
Then to run some simple uses of this library:
```python
import kglab
# create a KnowledgeGraph object
kg = kglab.KnowledgeGraph()
# load RDF from a URL
kg.load_rdf("http://bigasterisk.com/foaf.rdf", format="xml")
# measure the graph
measure = kglab.Measure()
measure.measure_graph(kg)
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()
print(ttl)
```
See the **tutorial notebooks** in the `examples` subdirectory for
sample code and patterns to use in integrating **kglab** with other
graph libraries in Python:
<https://derwen.ai/docs/kgl/tutorial/>
<details>
<summary>Using Docker</summary>
For a simple approach to running the tutorials, see use of _docker compose_:
<https://derwen.ai/docs/kgl/tutorial/#use-docker-compose>
Also, container images for each release are available on DockerHub:
<https://hub.docker.com/repository/docker/derwenai/kglab>
To build a container image and run it for the tutorials:
```bash
docker build --pull --rm -f "docker/Dockerfile" -t kglab:latest .
docker run -p 8888:8888 -it kglab
```
To build and run a container image for testing:
```bash
docker build --pull --rm -f "docker/testsuite.Dockerfile" -t kglabtest:latest .
docker run --rm -it kglabtest
```
</details>
<details>
<summary>Build Instructions</summary>
<strong>
Note: unless you are contributing code and updates,
in most use cases won't need to build this package locally.
</strong>
Instead, simply install from
[PyPi](https://pypi.python.org/pypi/kglab)
or use [Conda](https://docs.conda.io/).
To set up the build environment locally, see the
["Build Instructions"](https://derwen.ai/docs/kgl/build/)
section of the online documentation.
</details>
<details>
<summary>Semantic Versioning</summary>
Before <strong>kglab</strong> reaches release <code>v1.0.0</code> 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](https://github.com/DerwenAI/kglab/blob/main/changelog.txt)
</details>
<details>
<summary>Contributing Code</summary>
We welcome people getting involved as contributors to this open source
project!
For detailed instructions please see:
[CONTRIBUTING.md](https://github.com/DerwenAI/kglab/blob/main/CONTRIBUTING.md)
</details>
<details>
<summary>License and Copyright</summary>
Source code for **kglab** plus its logo, documentation, and examples
have an [MIT license](https://spdx.org/licenses/MIT.html) which is
succinct and simplifies use in commercial applications.
All materials herein are Copyright © 2020-2025 Derwen, Inc.
</details>
<details>
<summary>Attribution</summary>
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.
```bibtex
@software{kglab,
author = {Paco Nathan},
title = {{kglab: a simple abstraction layer in Python for building knowledge graphs}},
year = 2020,
publisher = {Derwen},
doi = {10.5281/zenodo.6360664},
url = {https://github.com/DerwenAI/kglab}
}
```
</details>
<img
alt="illustration of a knowledge graph, plus laboratory glassware"
src="https://raw.githubusercontent.com/DerwenAI/kglab/main/docs/assets/logo.png"
width="231"
/>
## Kudos
Many thanks to our open source [sponsors](https://github.com/sponsors/ceteri);
and to our contributors:
[@ceteri](https://github.com/ceteri),
[@dvsrepo](https://github.com/dvsrepo),
[@Ankush-Chander](https://github.com/Ankush-Chander),
[@louisguitton](https://github.com/louisguitton),
[@tomaarsen](https://github.com/tomaarsen),
[@Mec-iS](https://github.com/Mec-iS),
[@jake-aft](https://github.com/jake-aft),
[@cutterkom](https://github.com/cutterkom),
[@RishiKumarRay](https://github.com/RishiKumarRay),
[@Tpt](https://github.com/Tpt),
[@ArenasGuerreroJulian](https://github.com/ArenasGuerreroJulian),
[@fils](https://github.com/fils),
[@akuckartz](https://github.com/akuckartz),
[@gauravjaglan](https://github.com/gauravjaglan),
[@pebbie](https://github.com/pebbie),
[@CatChenal](https://github.com/CatChenal),
[@dmoore247](https://github.com/dmoore247),
plus general support from [Derwen, Inc.](https://derwen.ai/);
the [Knowledge Graph Conference](https://www.knowledgegraph.tech/)
and [Connected Data World](https://connected-data.world/);
plus an even larger scope of [use cases](https://derwen.ai/docs/kgl/use_case/)
represented by their communities;
and support from
[Kubuntu Focus](https://kfocus.org/),
and the [RAPIDS team @ NVIDIA](https://rapids.ai/).
<img
alt="kglab contributors"
src="https://contributors-img.web.app/image?repo=derwenai/kglab"
/>
## Star History
[](https://star-history.com/#derwenai/kglab&Date)
Raw data
{
"_id": null,
"home_page": "https://derwen.ai",
"name": "kglab",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.11",
"maintainer_email": null,
"keywords": "cugraph, gpu, graph algorithms, inference, interactive visualization, knowledge graph, managing namespaces, morph-kgc, probabilistic soft logic, psl, rdf, rml, statistical relational learning, validation",
"author": "Paco Nathan, Derwen, Inc",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/d4/92/cf01fe4668be04e4120026fc33f81425dca1f3b96932d25606caf73aeafd/kglab-0.7.0.tar.gz",
"platform": null,
"description": "# kglab\n\n[](https://doi.org/10.5281/zenodo.6360664)\n\n\n\n[](http://mypy-lang.org/)\n[](https://github.com/PyCQA/bandit)\n[](https://hub.docker.com/r/derwenai/kglab/)\n\n\n\nWelcome to *Graph Data Science*:\n<https://derwen.ai/docs/kgl/>\n\nThe **kglab** library provides a simple abstraction layer in Python 3.11-3.12\nfor building knowledge graphs, leveraging Pandas, NetworkX, RAPIDS, RDFLib,\nMorph-KGC, and many more.\n\n\n## Getting Started\n\nSee the [\"Getting Started\"](https://derwen.ai/docs/kgl/start/)\nsection of the online documentation.\n\n# pip\n```bash\npython3 -m pip install kglab\n```\n\n# poetry\n```bash\npoetry add kglab\n```\n\n# conda\n```bash\nconda env create -n kglab\nconda activate kglab\npip install kglab\n```\n\nThen to run some simple uses of this library:\n```python\nimport kglab\n\n# create a KnowledgeGraph object\nkg = kglab.KnowledgeGraph()\n\n# load RDF from a URL\nkg.load_rdf(\"http://bigasterisk.com/foaf.rdf\", format=\"xml\")\n\n# measure the graph\nmeasure = kglab.Measure()\nmeasure.measure_graph(kg)\n\nprint(\"edges: {}\\n\".format(measure.get_edge_count()))\nprint(\"nodes: {}\\n\".format(measure.get_node_count()))\n\n# serialize as a string in \"Turtle\" TTL format\nttl = kg.save_rdf_text()\nprint(ttl)\n```\n\nSee the **tutorial notebooks** in the `examples` subdirectory for\nsample code and patterns to use in integrating **kglab** with other\ngraph libraries in Python:\n<https://derwen.ai/docs/kgl/tutorial/>\n\n\n<details>\n <summary>Using Docker</summary>\n\nFor a simple approach to running the tutorials, see use of _docker compose_:\n<https://derwen.ai/docs/kgl/tutorial/#use-docker-compose>\n\nAlso, container images for each release are available on DockerHub:\n<https://hub.docker.com/repository/docker/derwenai/kglab>\n\nTo build a container image and run it for the tutorials:\n```bash\ndocker build --pull --rm -f \"docker/Dockerfile\" -t kglab:latest .\ndocker run -p 8888:8888 -it kglab\n```\n\nTo build and run a container image for testing:\n```bash\ndocker build --pull --rm -f \"docker/testsuite.Dockerfile\" -t kglabtest:latest .\ndocker run --rm -it kglabtest\n```\n</details>\n\n\n<details>\n <summary>Build Instructions</summary>\n\n<strong>\nNote: unless you are contributing code and updates,\nin most use cases won't need to build this package locally.\n</strong>\n\nInstead, simply install from\n[PyPi](https://pypi.python.org/pypi/kglab)\nor use [Conda](https://docs.conda.io/).\n\nTo set up the build environment locally, see the \n[\"Build Instructions\"](https://derwen.ai/docs/kgl/build/)\nsection of the online documentation.\n</details>\n\n\n<details>\n <summary>Semantic Versioning</summary>\n\nBefore <strong>kglab</strong> reaches release <code>v1.0.0</code> the \ntypes and classes may undergo substantial changes and the project is \nnot guaranteed to have a consistent API.\n\nEven so, we'll try to minimize breaking changes.\nWe'll also be sure to provide careful notes.\n\nSee:\n[changelog.txt](https://github.com/DerwenAI/kglab/blob/main/changelog.txt)\n</details>\n\n\n<details>\n <summary>Contributing Code</summary>\n\nWe welcome people getting involved as contributors to this open source\nproject!\n\nFor detailed instructions please see:\n[CONTRIBUTING.md](https://github.com/DerwenAI/kglab/blob/main/CONTRIBUTING.md)\n</details>\n\n\n<details>\n <summary>License and Copyright</summary>\n\nSource code for **kglab** plus its logo, documentation, and examples\nhave an [MIT license](https://spdx.org/licenses/MIT.html) which is\nsuccinct and simplifies use in commercial applications.\n\nAll materials herein are Copyright © 2020-2025 Derwen, Inc.\n</details>\n\n\n<details>\n <summary>Attribution</summary>\nPlease use the following BibTeX entry for citing **kglab** if you use\nit in your research or software.\nCitations are helpful for the continued development and maintenance of\nthis library.\n\n```bibtex\n@software{kglab,\n author = {Paco Nathan},\n title = {{kglab: a simple abstraction layer in Python for building knowledge graphs}},\n year = 2020,\n publisher = {Derwen},\n doi = {10.5281/zenodo.6360664},\n url = {https://github.com/DerwenAI/kglab}\n}\n```\n</details>\n\n\n<img\n alt=\"illustration of a knowledge graph, plus laboratory glassware\"\n src=\"https://raw.githubusercontent.com/DerwenAI/kglab/main/docs/assets/logo.png\"\n width=\"231\"\n/>\n\n\n## Kudos\n\nMany thanks to our open source [sponsors](https://github.com/sponsors/ceteri);\nand to our contributors:\n[@ceteri](https://github.com/ceteri),\n[@dvsrepo](https://github.com/dvsrepo),\n[@Ankush-Chander](https://github.com/Ankush-Chander),\n[@louisguitton](https://github.com/louisguitton),\n[@tomaarsen](https://github.com/tomaarsen),\n[@Mec-iS](https://github.com/Mec-iS),\n[@jake-aft](https://github.com/jake-aft),\n[@cutterkom](https://github.com/cutterkom),\n[@RishiKumarRay](https://github.com/RishiKumarRay),\n[@Tpt](https://github.com/Tpt),\n[@ArenasGuerreroJulian](https://github.com/ArenasGuerreroJulian),\n[@fils](https://github.com/fils),\n[@akuckartz](https://github.com/akuckartz),\n[@gauravjaglan](https://github.com/gauravjaglan),\n[@pebbie](https://github.com/pebbie),\n[@CatChenal](https://github.com/CatChenal),\n[@dmoore247](https://github.com/dmoore247),\nplus general support from [Derwen, Inc.](https://derwen.ai/);\nthe [Knowledge Graph Conference](https://www.knowledgegraph.tech/)\nand [Connected Data World](https://connected-data.world/);\nplus an even larger scope of [use cases](https://derwen.ai/docs/kgl/use_case/)\nrepresented by their communities;\nand support from\n[Kubuntu Focus](https://kfocus.org/),\nand the [RAPIDS team @ NVIDIA](https://rapids.ai/).\n\n<img\n alt=\"kglab contributors\"\n src=\"https://contributors-img.web.app/image?repo=derwenai/kglab\"\n/>\n\n\n## Star History\n\n[](https://star-history.com/#derwenai/kglab&Date)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "a simple abstraction layer in Python for building knowledge graphs",
"version": "0.7.0",
"project_urls": {
"Documentation": "https://derwen.ai/docs/kgl/",
"Homepage": "https://derwen.ai",
"Repository": "https://github.com/DerwenAI/kglab"
},
"split_keywords": [
"cugraph",
" gpu",
" graph algorithms",
" inference",
" interactive visualization",
" knowledge graph",
" managing namespaces",
" morph-kgc",
" probabilistic soft logic",
" psl",
" rdf",
" rml",
" statistical relational learning",
" validation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d012709dae02389cd95c9c4316147a788641fb137c6e2cc698b62cfe84627990",
"md5": "143911eadad92908e898fe6ac738cbe4",
"sha256": "8763d73826ee70436893efa84e734c346189fae798b0d1c95cd505807a954763"
},
"downloads": -1,
"filename": "kglab-0.7.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "143911eadad92908e898fe6ac738cbe4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.11",
"size": 39320,
"upload_time": "2025-08-20T02:53:17",
"upload_time_iso_8601": "2025-08-20T02:53:17.287393Z",
"url": "https://files.pythonhosted.org/packages/d0/12/709dae02389cd95c9c4316147a788641fb137c6e2cc698b62cfe84627990/kglab-0.7.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d492cf01fe4668be04e4120026fc33f81425dca1f3b96932d25606caf73aeafd",
"md5": "3982be18498e4932543c51dd79221466",
"sha256": "79c498682534de1d5c5b802b3a9da63fddcd07294cab1c44c338f464d6249dd5"
},
"downloads": -1,
"filename": "kglab-0.7.0.tar.gz",
"has_sig": false,
"md5_digest": "3982be18498e4932543c51dd79221466",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.11",
"size": 32263,
"upload_time": "2025-08-20T02:53:18",
"upload_time_iso_8601": "2025-08-20T02:53:18.384945Z",
"url": "https://files.pythonhosted.org/packages/d4/92/cf01fe4668be04e4120026fc33f81425dca1f3b96932d25606caf73aeafd/kglab-0.7.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-20 02:53:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DerwenAI",
"github_project": "kglab",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "kglab"
}