Python Tools for the Semantic Web, an Overview

59
Python Tools for the Semantic Web, an Overview

This repository objectives to amass and curate a listing of initiatives which shall be related both to python and semantic applied sciences (RDF, OWL, SPARQL, Reasoning, …). It’s miles impressed by collections love awesome lists. The checklist could well maybe even be incomplete and biased, due to the restricted data of its authors. Improvements are very welcome. Be at liberty to file an argument or a pull inquire of. Every portion is alphabetically sorted.

Furthermore, this repository could well relieve as a cristallization level for a neighborhood drawn to such initiatives – and how they would well maybe productively work together. Stare this discussion for extra data.

Established Projects

  • Bioregistry – The Bioregistry

    • doctors: https://bioregistry.readthedocs.io
    • net net site: https://bioregistry.io/
    • aspects:
      • Delivery source (and CC 0) repository of prefixes, their related metadata, and mappings to external registries’ prefixes
      • Standarization of prefixes and CURIEs
      • Interconversion between CURIEs and IRIs
      • Generation of context-specific prefix maps for usage in RDF, LinkML, SSSOM, OWL, and a lot others.
  • brickschema – Brick Ontology Python package

    • Brick is an originate-source effort to standardize semantic descriptions of the bodily, logical and virtual resources in constructions and the relationships between them.
    • doctors: https://brickschema.readthedocs.io/en/most standard/
    • net net site: https://brickschema.org/
    • aspects:
      • basic inference with diversified reasoners
      • net essentially based totally interplay (by technique of Yasgui)
      • Translations from diversified codecs (Haystack, VBIS)
  • Cooking with Python and KBpedia

    • Tutorial series on “systems to carry tools after which spend Python for using and manipulating the KBpedia data graph”
    • Enviornment subject in invent of Jupyter Notebooks,
    • accompanying python package cowpoke,
  • Eddy – graphical ontology editor

    • net net site: https://www.obdasystems.com/eddy
    • aspects:
      • graphical ontology editing
      • uses bespoke Graphol format however has an OWL2 export
      • visualization constructed on PyQt5
    • literature references:
      • Lembo, D and Pantaleone, D and Santarelli, V and Savo, DF: Eddy: A Graphical Editor for OWL 2 Ontologies. IJCAI 2016; 4252-4253
  • fastobo-py: Python bindings for fastobo (rust library to parse OBO 1.4)

    • aspects:
      • load, edit and serialize ontologies in the OBO 1.4 format
  • FunOwl – functional OWL syntax for Python

    • aspects:
      • provide a pythonic API that follows the OWL functional model for developing OWL
  • Gastrodon – puts RDF data in your fingertips in Pandas; gateway to matplotlib, scikit-learn and diversified visualization tools.

    • aspects:
      • interpolate variables into SPARQL queries
      • entry local RDFlib graphs and far flung SPARQL protocol endpoints
      • convert SPARQL consequence location to pandas dataframes
      • understandable error messages
      • enter/output graphs in Turtle invent
      • conversion between RDF collections and Python collections
      • Sphinx enviornment to consist of RDF data into documentation
  • gizmos – Utilities for ontology construction

    • aspects:
      • modules for “export”, “extract”, “tree”-rendering
  • Jabberwocky – a toolkit for ontologies

    • aspects:
      • related textual direct mining using an ontology terms & synonyms
      • tf-idf for synonym curation then including those synonyms into an ontology
  • kglab – Graph Recordsdata Science

    • doctors: https://derwen.ai/doctors/kgl/
    • tutorial: https://derwen.ai/doctors/kgl/tutorial/
    • aspects:
      • an abstraction layer in Python for building data graphs, integrated with standard graph libraries
    • level of view: there are plenty of “camps” of graph applied sciences, with itsy-bitsy discussion between them
      • focal level on supporting “Hybrid AI” approaches that combine two or extra graph applied sciences with diversified ML work
    • PyData stack – e.g., Pandas, scikit-learn, and a lot others. – permits for graph work internal data science workflows
    • scale-out tools – e.g., RAPIDS, Arrow/Parquet, Dask – provide for scaling graph computation (now not necessarily databases)
    • graph algorithm libraries consist of NetworkX, iGraph, cuGraph – plus related visualization libraries in PyVis, Cairo, and a lot others.
    • W3C libraries in Py furthermore lacked pudgy integration: RDFlib, pySHACL, OWL-RL, and a lot others.
      • pslpython offers for probabilistic mushy logic, working with uncertainty in probabilistic graphs
      • extra integration paths and examples uncover systems to work with deep studying (PyG)
    • import paths from graph databases, comparable to Neo4j
      • import paths from uncover-taking tools, comparable to Traipse Overview
    • usage in MkRefs to add semantic aspects into MkDocs so as that originate source initiatives can federate bibliographies, shared glossaries, and a lot others.
    • kglab crew offers hands-on workshops at technology conferences for folk to procure experience with these diversified graph approaches
  • LinkML – Linked Delivery Recordsdata Modeling Language

    • aspects:
      • A high stage easy technique of specifying data objects, optionally enhanced with semantic annotations
      • A python framework for compiling these data objects to json-ld, json-schema, shex, shacl, owl, sql-ddl
      • A python framework for data conversion and validation, besides to generated Python dataclasses
  • Macleod – Ontology construction ambiance for Classic Good judgment (CL)

    • aspects:
      • Translating a CLIF file to codecs supported by FOL reasoners
      • Extracting an OWL approximation of a CLIF ontology
      • Verifying (non-trivial) logical consistency of a CLIF ontology
      • Proving theorems/lemmas, comparable to properties of ideas and relatives or competency questions
      • GUI (alpha teach)
  • Morph-KGC – Engine to originate RDF data graphs from heterogeneous sources with R2RML and RML

    • doctors: https://github.com/oeg-upm/Morph-KGC/wiki
    • aspects:
      • toughen for relational databases, tabular recordsdata (e.g. CSV, Excel, Parquet) and hierarchical recordsdata (XML and JSON)
      • generates the RDF by working the engine by advise line
      • will even be feeble as a library to load the RDF data graph to RDFlib
  • nxontology – NetworkX-essentially based totally library for representing ontologies

    • aspects:
      • load ontologies right into a networkx.DiGraph or MultiDiGraph from .obo, .json, or .owl codecs
        (powered by pronto / fastobo)
      • compute data direct scores for nodes and semantic similarity scores for node pairs
  • obonet – learn OBO-formatted ontologies into NetworkX

    • aspects:
      • Load an .obo file right into a networkx.MultiDiGraph
      • Customers could well maybe quiet strive nxontology first, as a extra overall goal successor to this mission
  • OnToology – System for collaborative ontology construction route of

    • doctors: http://ontoology.linkeddata.es/stepbystep
    • dwell version: http://ontoology.linkeddata.es/
    • citable reference: https://doi.org/10.1016/j.websem.2018.09.003
  • OntoPilot – software for ontology construction and deployment

    • doctors: https://github.com/stuckyb/ontopilot/wiki
    • aspects:
      • toughen halt users in ontology construction, documentation and maintainance
      • convert spreadsheet data (one entity per row) to owl recordsdata
      • name a reasoner earlier than triple-store insertion
  • ontospy – Python library and advise-line interface for inspecting and visualizing RDF objects

    • doctors: http://lambdamusic.github.io/Ontospy/
    • aspects:
      • extract and print out any ontology-related data
      • convert diversified OWL syntax variants
      • generate html documentation for an ontology
  • ontor – Python library for manipulating and vizualizing OWL ontologies in Python

    • aspects:
      • tool location in accordance with owlready2 and networkx
  • owlready2 – ontology oriented programming in Python

    • doctors: https://owlready2.readthedocs.io/en/most standard/index.html
    • aspects:
      • parse owl recordsdata (RDF/XML or OWL/XML)
      • parse SWRL principles
      • name reasoner (by technique of java)
    • literature references:
      • Lamy, JB: Owlready: Ontology-oriented programming in Python with automatic classification and high stage constructs for biomedical ontologies. Synthetic Intelligence In Medication 2017;80: 11-28
      • Lamy, JB: Ontologies with Python, Apress, 2020
        • accompanying material: https://github.com/Apress/ontologies-w-python
  • Oxrdflib – Oxrdflib offers rdflib stores using pyoxigraph (rust-essentially based totally)

    • could well maybe even be feeble as fall-in replacements of the rdflib default ones
  • pronto: library to parse, browse, originate, and export ontologies

    • aspects:
      -helps plenty of ontology languages and codecs
    • doctors: https://pronto.readthedocs.io/en/most standard/api.html
  • PyFuseki – Library that work along with Jena Fuseki (SPARQL server):

    • doctors: https://yubincloud.github.io/pyfuseki/
  • PyOBO

    • doctors: https://pyobo.readthedocs.io
    • aspects:
      • Presents unified, high-stage entry to names, descriptions, synonyms, xrefs, hierarchies, properties, relationships, and a lot others. in ontologies from many sources listed in the Bioregistry
      • Converts databases into OWL and OBO ontologies
      • Wrapper around ROBOT for using Java tooling to convert between OBO and OWL
      • Interior DSL for producing OBO ontology
  • Pyoxigraph – Python graph database library enforcing the SPARQL now not unique.

    • constructed on prime of Oxigraph using PyO3
    • doctors: https://oxigraph.org/pyoxigraph/safe/index.html
    • two stores with SPARQL 1.1 capabilities. in-memory/disk essentially based totally
  • PyRes

    • resolution-essentially based totally theorem provers for first-affirm logic
    • focal level on honest right comprehensibility of the code
    • Literature: Instructing Automatic Theorem Proving by Instance
  • Quit Retailer – workspace for allotted collaborative Linked Recordsdata data engineering (“Quads in Git”)

    • aspects:
      • learn and write RDF Datasets
      • originate a couple of branches of the Dataset
    • literature references:
      • Decentralized Collaborative Recordsdata Administration using Git
        by Natanael Arndt, Patrick Naumann, Norman Radtke, Michael Martin, and Edgard Marx in Journal of Web Semantics, 2018
        [@sciencedirect] [@arXiv]
  • RaiseWikibase – A tool for speeding up multilingual data graph construction with Wikibase

    • rapid inserts right into a Wikibase instance: creates up to a million entities and wikitexts per hour
    • doctors: https://ub-mannheim.github.io/RaiseWikibase/
    • ships with docker-operate.yml for Wikibase (Database, PHP-code)
    • publication: https://link.springer.com/chapter/10.1007%2F978-3-030-80418-3_11
  • Cheap – An OWL 2 RL reasoner with life like efficiency

    • written in Rust with Python-Bindings (by technique of pyo3)
  • rdflib – Python package for working with RDF

    • doctors: https://rdflib.readthedocs.io/
    • graphical package overview: https://rdflib.dev/
    • aspects:
      • parsers and serializers for RDF/XML, NTriples, Turtle and extra
      • a graph interface which will even be backed by anybody of a vast selection of store implementations
      • store implementations for in-memory storage and power storage
      • a SPARQL 1.1 implementation – supporting SPARQL 1.1 Queries and Change statements
  • SPARQL kernel for Jupyter

    • aspects:
      • sending queries to an SPARQL endpoint
      • fetching and presenting the outcomes in a notebook
  • WikidataIntegrator – Library for studying and writing to Wikidata/Wikibase

    • aspects:
      • high integration with the Wikidata SPARQL endpoint

Doubtlessly Stalled or Outdated Projects

  • Athene DL reasoner in pure python
    • “[C]urrent version is a beta and only helps ALC. But it’ll with out declare be prolonged by including tableau principles.”
    • Final substitute: 2017
  • cwm
    • Self description: “[cwm is a] ahead chaining semantic reasoner that will even be feeble for querying, checking, remodeling and filtering data”.
    • Created in 2000 by Tim Berners-Lee and Dan Connolly, peep w3.org
  • air-reasoner
    • Self description: “Reasoner for the AIR policy language, in accordance with cwm”
    • in accordance with cwm
    • Final substitute: 2013
  • FuXi
    • Self description: “An OWL / N3-essentially based totally in-memory, logic reasoning system for RDF”
    • in accordance with cwm
    • Final substitute: 2013
    • peep furthermore http://code.google.com/p/python-dlp/wiki/FuXi http://code.google.com/p/fuxi/source/browse/ (hg-repo)
  • pysumo
    • Ontology IDE for the Sugested Greater Merged Ontology (SUMO)
    • Clinical doctors: https://pysumo.readthedocs.io/
    • Final substitute: 2015

Further Projects / Hyperlinks

  • awesome-semantic-net#python Python portion of awesome checklist for semantic-net-related initiatives
  • github-semantic-net-python – github mission search with topic=semantic-net and language=python
  • Pywikibot
    • Library to work along with Wikidata and Wikimedia API
    • peep furthermore: https://www.wikidata.org/wiki/Wikidata:Creating_a_bot#Pywikibot
  • semantic – Python library for extracting semantic data from textual direct, comparable to dates and numbers
  • Solving Einstein Puzzle – jupyter notebook demonstrating systems to make spend of owlready2 to therapy a logic puzzle
  • W3C-Hyperlink-List1 – link checklist “SemanticWebTools”, portion “Python_Developers” (wiki page)
    • could well maybe even be out of date
  • W3C-Hyperlink-List2 – checklist of tools usable from, or with, Python (wiki page)
  • wikidata-mayors
    • Python code to avoid losing a inquire of to wikidata for european mayors and the save they the save born
    • Article: https://towardsdatascience.com/the save-halt-mayors-reach-from-querying-wikidata-with-python-and-sparql-91f3c0af22e2
  • yamlpyowl – learn an yaml-specified ontology into python by technique of owlready2 (experimental)
  • Notebook, which generates quiz questions from wikidata
    • related presentation slides

NOW WITH OVER +8500 USERS. folks can Join Knowasiak with out cost. Mark in on Knowasiak.com
Read More

Knowasiak
WRITTEN BY

Knowasiak

Hey! look, i give tutorials to all my users and i help them!