Skip to main content

Data Representation Language for Reading Heterogeneous Datasets

Project description

D-REPR

PyPI Python Build Status GitHub Issues Contributions welcome License

Table of Contents

Features

  • Supporting reading datasets in heterogeneous formats (JSON, CSV, Spreadsheets, etc) and layouts (relational tables, matrix tables, etc) to the RDF format

Installation

From PyPi: pip install drepr

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.10.0_dev3.tar.gz (9.7 MB view hashes)

Uploaded Source

Built Distributions

drepr-2.10.0_dev3-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ x86-64

drepr-2.10.0_dev3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.5+ x86-64

drepr-2.10.0_dev3-cp310-none-win_amd64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

drepr-2.10.0_dev3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ x86-64

drepr-2.10.0_dev3-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (2.3 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

drepr-2.10.0_dev3-cp39-none-win_amd64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

drepr-2.10.0_dev3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ x86-64

drepr-2.10.0_dev3-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (2.3 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

drepr-2.10.0_dev3-cp38-none-win_amd64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

drepr-2.10.0_dev3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ x86-64

drepr-2.10.0_dev3-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (2.3 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

drepr-2.10.0_dev3-cp37-none-win_amd64.whl (1.1 MB view hashes)

Uploaded CPython 3.7 Windows x86-64

drepr-2.10.0_dev3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.5+ x86-64

drepr-2.10.0_dev3-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (2.3 MB view hashes)

Uploaded CPython 3.7m macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

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