Skip to main content

Data Representation Language for Reading Heterogeneous Datasets

Project description

D-REPR

PyPI Python Build Status GitHub Issues Contributions welcome License

Dataset Representation Language for Reading Heterogeneous Datasets to RDF or JSON. The original dataset can be in different formats (e.g., JSON, CSV, Spreadsheets, etc), layouts (e.g., relational tables, matrix tables, etc), and can contain multiple files (e.g., one file contains data and another file contains data definitions or linked entities).

Table of Contents

Installation

From PyPi: pip install drepr

If you need to process netCDF or fiona, install pip install drepr[fiona,netcdf]. Installing these libraries requires you to have netcdf and gdal preinstalled and configured in your system.

If you want to install from source or have trouble during installation, please look in the Wiki Installation

How D-REPR works

There are four steps in D-REPR to model a dataset:

  1. Define resources: a resource can be a physical file in CSV, JSON format. A dataset may have multiple resources such as one main CSV file and a data-definition dictionary in a JSON file.
  2. Define attributes: each attribute denotes values that belong to a group. For example, in a relational table, each column is an attribute.
  3. Define alignments between attributes: a method to get a value of an attribute from a value of a corresponding attribute. The common methods are accessing by index and by value. For example, in a relational table of products, given a product id, we can retrieve the corresponding product name in the same row (by index). This step essentially defines the layout of the dataset.
  4. Define a semantic model: given each attribute a type and relationships between attributes.

Docs and Examples

Please see the paper D-REPR: A Language for Describing and Mapping Diversely-Structured Data Sources to RDF and the slides.

The example datasets can be found in the example folder.

Testing

Testing rust package: cargo test --no-default-features --features pyo3/auto-initialize

Contributing

Please read the Wiki Contributing for details on our code of conduct, how to setup the development environment and the process for submitting pull requests to us.

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

drepr-2.11.2.tar.gz (9.7 MB view hashes)

Uploaded Source

Built Distributions

drepr-2.11.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

drepr-2.11.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

drepr-2.11.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

drepr-2.11.2-cp312-none-win_amd64.whl (2.7 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

drepr-2.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

drepr-2.11.2-cp312-cp312-macosx_10_14_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.12 macOS 10.14+ x86-64

drepr-2.11.2-cp311-none-win_amd64.whl (2.7 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

drepr-2.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

drepr-2.11.2-cp311-cp311-macosx_10_14_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 macOS 10.14+ x86-64

drepr-2.11.2-cp310-none-win_amd64.whl (2.7 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

drepr-2.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

drepr-2.11.2-cp310-cp310-macosx_10_14_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 macOS 10.14+ x86-64

drepr-2.11.2-cp39-none-win_amd64.whl (2.7 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

drepr-2.11.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

drepr-2.11.2-cp39-cp39-macosx_10_14_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 macOS 10.14+ x86-64

drepr-2.11.2-cp38-none-win_amd64.whl (2.7 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

drepr-2.11.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

drepr-2.11.2-cp38-cp38-macosx_10_14_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 macOS 10.14+ x86-64

Supported by

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