kglab


Namekglab JSON
Version 0.7.0 PyPI version JSON
download
home_pagehttps://derwen.ai
Summarya simple abstraction layer in Python for building knowledge graphs
upload_time2025-08-20 02:53:18
maintainerNone
docs_urlNone
authorPaco Nathan, Derwen, Inc
requires_python<3.13,>=3.11
licenseMIT
keywords cugraph gpu graph algorithms inference interactive visualization knowledge graph managing namespaces morph-kgc probabilistic soft logic psl rdf rml statistical relational learning validation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # kglab

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6360664.svg)](https://doi.org/10.5281/zenodo.6360664)
![Licence](https://img.shields.io/github/license/DerwenAI/kglab)
![Repo size](https://img.shields.io/github/repo-size/DerwenAI/kglab)
![GitHub commit activity](https://img.shields.io/github/commit-activity/w/DerwenAI/kglab?style=plastic)
[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)
[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)
[![Docker Pulls](https://img.shields.io/docker/pulls/derwenai/kglab.svg?maxAge=604800)](https://hub.docker.com/r/derwenai/kglab/)
![downloads](https://img.shields.io/pypi/dm/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 &copy; 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

[![Star History Chart](https://api.star-history.com/svg?repos=derwenai/kglab&type=Date)](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[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6360664.svg)](https://doi.org/10.5281/zenodo.6360664)\n![Licence](https://img.shields.io/github/license/DerwenAI/kglab)\n![Repo size](https://img.shields.io/github/repo-size/DerwenAI/kglab)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/w/DerwenAI/kglab?style=plastic)\n[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)\n[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)\n[![Docker Pulls](https://img.shields.io/docker/pulls/derwenai/kglab.svg?maxAge=604800)](https://hub.docker.com/r/derwenai/kglab/)\n![downloads](https://img.shields.io/pypi/dm/kglab)\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 &copy; 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[![Star History Chart](https://api.star-history.com/svg?repos=derwenai/kglab&type=Date)](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"
}
        
Elapsed time: 3.25764s