Skip to main content

A rules engine for RDF data

Project description

PyPI - Status

RDF-Engine

Why?

Motivation: This was developed as part of BIM2RDF where the conversion from BIM to RDF is framed as 'mapping rules'.

How?

Rules are processes that generate quads. They are simply applied until no new quads are produced. Oxigraph is used to store data.

A rule is defined as a function that takes an Oxigraph instance and returns quads.

Features

  • Handling of anonymous/blank nodes: They can be derandomized.
  • Oxigraph can handle RDF-star data and querying. However, RDF-star is derandomized for each graph in a rule. In addition, rdf_engine does not handle nested triples of form (subject, not rdf:refies, triple).

Usage

The package can be obtained from PyPi. Note the CLI is optional: rdf-engine[cli].

A 'program' is defined as a sequence of engine runs initialized by a `db'. Each engine run takes:

  • (engine) params
  • and a list of rules. Each rule needs a module, maker, and params. See program example in test script.

Development Philosophy

  • KISS: It should only address executing rules. Therefore, the code is expected to be feature complete (without need for adding more 'features').
  • Minimal dependencies: follows from above.
  • Explicit > Implicit: Parameters should be specificed (explicitly).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rdf_engine-228.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rdf_engine-228-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file rdf_engine-228.tar.gz.

File metadata

  • Download URL: rdf_engine-228.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rdf_engine-228.tar.gz
Algorithm Hash digest
SHA256 8355e6103db96b41a9478f6ec094580689ae6e49206baeb587a05a8c17e2ea00
MD5 05fa1b344fe964d6c55b9b11b340229c
BLAKE2b-256 c9e0a1412b5eb85e00c0b63e2c354c41c0a43ab7da64a87018a5d0c5e8d912b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for rdf_engine-228.tar.gz:

Publisher: python-publish.yml on pnnl/rdf-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rdf_engine-228-py3-none-any.whl.

File metadata

  • Download URL: rdf_engine-228-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rdf_engine-228-py3-none-any.whl
Algorithm Hash digest
SHA256 f4b0a66df7b5a45b986a45e67a6cdcd68f9ee1ec9a90fa10fda11313c6838e87
MD5 b5632d92a60a24480e20b518af4fd73f
BLAKE2b-256 0b088d0dd961eea9d62efdce4de999cb3cd2e38a8004bf8e710d69bb21e60e5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rdf_engine-228-py3-none-any.whl:

Publisher: python-publish.yml on pnnl/rdf-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page