kglab

Graph Data Science: an abstraction layer in Python for building knowledge graphs, integrated with popular graph libraries – atop Pandas, NetworkX, RAPIDS, RDFlib, pySHACL, PyVis, morph-kgc, pslpython, pyarrow, etc.

https://github.com/derwenai/kglab

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.0%) to scientific vocabulary

Keywords

graph-algorithms graph-libraries graph-thinking inference json-ld knowledge-graph networkx owl pandas parquet python-igraph pyvis r2rml-mapping rapids rdflib shacl skos sparql

Keywords from Contributors

sequencers spacy-extension embeddings interpretability optimism interactive ranking clade network-simulation data-manager
Last synced: 6 months ago · JSON representation ·

Repository

Graph Data Science: an abstraction layer in Python for building knowledge graphs, integrated with popular graph libraries – atop Pandas, NetworkX, RAPIDS, RDFlib, pySHACL, PyVis, morph-kgc, pslpython, pyarrow, etc.

Basic Info
  • Host: GitHub
  • Owner: DerwenAI
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage: https://derwen.ai/docs/kgl/
  • Size: 32.7 MB
Statistics
  • Stars: 636
  • Watchers: 22
  • Forks: 72
  • Open Issues: 14
  • Releases: 25
Topics
graph-algorithms graph-libraries graph-thinking inference json-ld knowledge-graph networkx owl pandas parquet python-igraph pyvis r2rml-mapping rapids rdflib shacl skos sparql
Created over 5 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing Funding License Code of conduct Citation Security

README.md

kglab

DOI Licence Repo size GitHub commit activity Checked with mypy security: bandit Docker Pulls downloads

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" 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.getedgecount())) print("nodes: {}\n".format(measure.getnodecount()))

serialize as a string in "Turtle" TTL format

ttl = kg.saverdftext() 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/

Using Docker For a simple approach to running the tutorials, see use of _docker compose_: Also, container images for each release are available on DockerHub: 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 ```
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](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.
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](https://github.com/DerwenAI/kglab/blob/main/changelog.txt)
Contributing Code 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)
License and Copyright 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.
Attribution 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.4416034}, url = {https://github.com/DerwenAI/kglab} } ```

illustration of a knowledge graph, plus laboratory glassware

Kudos

Many thanks to our open source sponsors; and to our contributors: @ceteri, @dvsrepo, @Ankush-Chander, @louisguitton, @tomaarsen, @Mec-iS, @jake-aft, @cutterkom, @RishiKumarRay, @Tpt, @ArenasGuerreroJulian, @fils, @akuckartz, @gauravjaglan, @pebbie, @CatChenal, @dmoore247, plus general support from Derwen, Inc.; the Knowledge Graph Conference and Connected Data World; plus an even larger scope of use cases represented by their communities; and support from Kubuntu Focus, and the RAPIDS team @ NVIDIA.

kglab contributors

Star History

Star History Chart

Owner

  • Name: derwen.ai
  • Login: DerwenAI
  • Kind: organization
  • Location: Sebastopol, CA

We provide enterprise customers with full-stack engineering for AI applications at enterprise scale, emphasizing open source integration.

Citation (CITATION)

@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}
}

GitHub Events

Total
  • Create event: 4
  • Release event: 1
  • Issues event: 12
  • Watch event: 63
  • Delete event: 22
  • Member event: 1
  • Issue comment event: 5
  • Push event: 12
  • Pull request event: 19
  • Fork event: 4
Last Year
  • Create event: 4
  • Release event: 1
  • Issues event: 12
  • Watch event: 63
  • Delete event: 22
  • Member event: 1
  • Issue comment event: 5
  • Push event: 12
  • Pull request event: 19
  • Fork event: 4

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 470
  • Total Committers: 18
  • Avg Commits per committer: 26.111
  • Development Distribution Score (DDS): 0.309
Past Year
  • Commits: 39
  • Committers: 7
  • Avg Commits per committer: 5.571
  • Development Distribution Score (DDS): 0.564
Top Committers
Name Email Commits
Paco Nathan c****i@g****m 325
Lorenzo (Mec-iS) t****g@g****m 69
Paco Nathan 5****i 18
Louis Guitton l****3@g****m 13
snyk-bot s****t@s****o 10
jake j****r@b****m 7
Tom Aarsen C****v@g****m 6
Ankush-Chander a****r@g****m 6
dependabot[bot] 4****] 5
Julián Arenas-Guerrero j****g@h****m 2
Rishi Kumar Ray 8****y 2
Katharina Brunner c****m 1
jorisSchaller 7****r 1
Douglas Moore d****7@g****m 1
gauravjaglan j****v@g****m 1
Douglas Fils d****s@g****m 1
Jake Carter 3****t 1
Peb@ubuntuHP p****e@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 45
  • Total pull requests: 89
  • Average time to close issues: 9 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 19
  • Total pull request authors: 12
  • Average comments per issue: 3.07
  • Average comments per pull request: 0.64
  • Merged pull requests: 59
  • Bot issues: 0
  • Bot pull requests: 9
Past Year
  • Issues: 4
  • Pull requests: 9
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 4
  • Pull request authors: 2
  • Average comments per issue: 0.25
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • ceteri (18)
  • Mec-iS (10)
  • fils (2)
  • dmoore247 (2)
  • psaboia (1)
  • jake-aft (1)
  • akuckartz (1)
  • IshanDindorkar (1)
  • tommybbq (1)
  • scenaristeur (1)
  • westurner (1)
  • stuchalk (1)
  • b1ngster (1)
  • fridayorji (1)
  • NancyAb (1)
Pull Request Authors
  • ceteri (66)
  • Mec-iS (15)
  • dependabot[bot] (9)
  • jake-aft (4)
  • snyk-bot (4)
  • akuckartz (2)
  • jorisSchaller (1)
  • cutterkom (1)
  • jli113 (1)
  • tomaarsen (1)
  • arenas-guerrero-julian (1)
  • RishiKumarRay (1)
Top Labels
Issue Labels
enhancement (19) help wanted (9) question (7) good first issue (6) bug (5) partnering (4) documentation (3) research (2)
Pull Request Labels
dependencies (9) bug (1)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 593 last-month
  • Total dependent packages: 2
    (may contain duplicates)
  • Total dependent repositories: 3
    (may contain duplicates)
  • Total versions: 80
  • Total maintainers: 1
proxy.golang.org: github.com/DerwenAI/kglab
  • Versions: 27
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/derwenai/kglab
  • Versions: 27
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
pypi.org: kglab

A simple abstraction layer in Python for building knowledge graphs

  • Versions: 26
  • Dependent Packages: 2
  • Dependent Repositories: 3
  • Downloads: 593 Last month
Rankings
Stargazers count: 2.8%
Dependent packages count: 4.8%
Forks count: 5.4%
Average: 6.5%
Dependent repos count: 8.9%
Downloads: 10.7%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements-dev.txt pypi
  • bandit >=1.7 development
  • codespell >=2.1 development
  • coverage >=6.3 development
  • flask >=2.0 development
  • grayskull >=1.1 development
  • jupyterlab >=3.3 development
  • mistune >=0.8 development
  • mkdocs-git-revision-date-plugin >=0.3 development
  • mkdocs-material >=8.2 development
  • mknotebooks >=0.7 development
  • mypy >=0.940 development
  • nbconvert >=6.4 development
  • nbmake >=1.3 development
  • notebook >=6.4 development
  • pipdeptree >=2.2 development
  • pre-commit >=2.17 development
  • pygments >=2.11 development
  • pylint >=2.12 development
  • pymdown-extensions >=9.2 development
  • pytest >=7.1 development
  • responses >=0.19 development
  • scikit-learn >=1.0 development
  • selenium >=4.1 development
  • twine >=3.8 development
  • types-python-dateutil >=2.8 development
  • types-requests >=2.27 development
  • wheel >=0.37 development
  • xmltodict >=0.12 development
requirements-tut.txt pypi
  • cairocffi >=1.3
  • gensim >=3.8
  • igraph >=0.9
  • jupyterlab >=3.1.4
  • leidenalg >=0.8
  • matplotlib >=3.3.4
  • pylev >=1.3
requirements.txt pypi
  • aiohttp >=3.8
  • chocolate >=0.0.2
  • cryptography >=35.0
  • csvwlib >=0.3.2
  • decorator >=5.1
  • fsspec >=2022.2
  • gcsfs >=2022.2
  • icecream >=2.1
  • morph-kgc >=2.0.0
  • networkx >=2.7
  • numpy >=1.21
  • owlrl >=6.0.2
  • oxrdflib >=0.3.1
  • pandas >=1.4
  • pslpython >=2.2.2
  • pyarrow >=7.0
  • pynvml >=11.4
  • pyshacl >=0.18
  • python-dateutil >=2.8
  • pyvis >=0.1.9
  • rdflib >=6.1
  • requests >=2.27
  • statsmodels >=0.13
  • tqdm >=4.63
  • urlpath >=1.2
.github/workflows/ci.yml actions
  • actions/checkout v2 composite
.github/workflows/docker.yml actions
  • actions/checkout v2 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/setup-buildx-action v1 composite
environment.yml conda
  • decorator >=4.4.2
  • fsspec >=0.8.5
  • gcsfs >=0.7.1
  • networkx >=2.6
  • numpy >=1.19.2
  • owlrl >=6.0.2
  • pandas >=1.3
  • pip
  • pyarrow >=1.0.1
  • pynvml >=8.0.4
  • pyshacl >=0.17.3
  • python >=3.7
  • python-dateutil >=2.8
  • pyvis >=0.1.7
  • rdflib >=6.0.1
  • requests >=2.25.1
  • statsmodels >=0.12
  • tqdm >=4.56
docker/Dockerfile docker
  • base latest build
  • kglab latest build
  • libs latest build
  • ubuntu 20.04 build