# RDF fingerprinter
**Understand** the structure of your RDF data at a glance using automatically built **application profiles** and spot differences between dataset structures.
An [_application profile_](https://en.wikipedia.org/wiki/Application_profile), in this context, is the set of [_data shapes_](https://www.w3.org/2014/data-shapes/wiki/Main_Page) designed for a particular purpose acting as constraints on how the data are instantiated and so can be used to validate the data.
_Fingerprinting_ is the action of generating, or rather, guessing, the application profile applied to a particular dataset. This is an inductive process of reconstructing the data shape for each class instantiated in the dataset.
![test](https://github.com/meaningfy-ws/rdf-fingerprinter/workflows/test/badge.svg)
[![codecov](https://codecov.io/gh/meaningfy-ws/rdf-fingerprinter/branch/master/graph/badge.svg)](https://codecov.io/gh/meaningfy-ws/eds4jinja2)
[![Documentation Status](https://readthedocs.org/projects/rdf-fingerprinter/badge/?version=latest)](https://eds4jinja2.readthedocs.io/en/latest/?badge=latest)
![PyPI](https://img.shields.io/pypi/v/rdf-fingerprinter?color=teal&label=version)
![PyPI - Status](https://img.shields.io/pypi/status/rdf-fingerprinter)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/rdf-fingerprinter)
![PyPI - License](https://img.shields.io/pypi/l/rdf-fingerprinter?color=green)
![PyPI - Wheel](https://img.shields.io/pypi/wheel/rdf-fingerprinter)
Contents
--------
* [API Reference](api_ref.md)
# Installation
RDF fingerprinter may be installed with pip as follows.
```
pip install rdf-fingerprinter
```
Nore that Python version 3.7 or later is required.
# Usage
The easiest way to build a fingerprint of a SPARQL endpoint is by calling the fingeprinting CLI command and write the report in an output folder.
```shell script
fingerprint -e http://my.sparql.endpoint.com -o my/output/folder
```
To use the fingerprinter programmatically please refer to the [API Reference](api_ref.md).
# Contributing
You are more than welcome to help expand and mature this project. We adhere to [Apache code of conduct](https://www.apache.org/foundation/policies/conduct), please follow it in all your interactions on the project.
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the maintainers of this repository before making a change.
## Licence
This project is licensed under [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).
Raw data
{
"_id": null,
"home_page": "https://github.com/meaningfy-ws/rdf-fingerprinter",
"name": "rdf-fingerprinter",
"maintainer": "Eugeniu Costetchi",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "costezki.eugen@gmail.com",
"keywords": "rdf,application profile,data shape,statistics,fingerprint,sparql,linked-data",
"author": "Eugeniu Costetchi",
"author_email": "costezki.eugen@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/95/20/51e7cffb2baaea93d73d2dc5d4f045e7d0002cb4742d849a5df0a492fa83/rdf-fingerprinter-0.3.0.tar.gz",
"platform": "any",
"description": "# RDF fingerprinter\n\n**Understand** the structure of your RDF data at a glance using automatically built **application profiles** and spot differences between dataset structures. \n\nAn [_application profile_](https://en.wikipedia.org/wiki/Application_profile), in this context, is the set of [_data shapes_](https://www.w3.org/2014/data-shapes/wiki/Main_Page) designed for a particular purpose acting as constraints on how the data are instantiated and so can be used to validate the data.\n\n_Fingerprinting_ is the action of generating, or rather, guessing, the application profile applied to a particular dataset. This is an inductive process of reconstructing the data shape for each class instantiated in the dataset. \n\n![test](https://github.com/meaningfy-ws/rdf-fingerprinter/workflows/test/badge.svg)\n[![codecov](https://codecov.io/gh/meaningfy-ws/rdf-fingerprinter/branch/master/graph/badge.svg)](https://codecov.io/gh/meaningfy-ws/eds4jinja2)\n[![Documentation Status](https://readthedocs.org/projects/rdf-fingerprinter/badge/?version=latest)](https://eds4jinja2.readthedocs.io/en/latest/?badge=latest)\n\n![PyPI](https://img.shields.io/pypi/v/rdf-fingerprinter?color=teal&label=version)\n![PyPI - Status](https://img.shields.io/pypi/status/rdf-fingerprinter)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/rdf-fingerprinter)\n![PyPI - License](https://img.shields.io/pypi/l/rdf-fingerprinter?color=green)\n![PyPI - Wheel](https://img.shields.io/pypi/wheel/rdf-fingerprinter)\n\nContents\n--------\n* [API Reference](api_ref.md)\n\n# Installation\nRDF fingerprinter may be installed with pip as follows. \n \n```\npip install rdf-fingerprinter\n```\nNore that Python version 3.7 or later is required. \n\n# Usage\n\nThe easiest way to build a fingerprint of a SPARQL endpoint is by calling the fingeprinting CLI command and write the report in an output folder.\n \n```shell script\nfingerprint -e http://my.sparql.endpoint.com -o my/output/folder\n``` \n\nTo use the fingerprinter programmatically please refer to the [API Reference](api_ref.md). \n\n# Contributing\nYou are more than welcome to help expand and mature this project. We adhere to [Apache code of conduct](https://www.apache.org/foundation/policies/conduct), please follow it in all your interactions on the project. \n\nWhen contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the maintainers of this repository before making a change.\n\n## Licence \nThis project is licensed under [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "Find out kind of data shapes your RDF dataset instantiates.",
"version": "0.3.0",
"project_urls": {
"Homepage": "https://github.com/meaningfy-ws/rdf-fingerprinter"
},
"split_keywords": [
"rdf",
"application profile",
"data shape",
"statistics",
"fingerprint",
"sparql",
"linked-data"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7b1dbeb285d87d9d48c676251c346972dc881ab9f427a98e100ecd742655c69e",
"md5": "58cc8e0b83a9e2013f78fa324ffca8ed",
"sha256": "2c18d73604ccf4b2995023f4d36f1c392b3eaa01d91d580701d748c52c687ad3"
},
"downloads": -1,
"filename": "rdf_fingerprinter-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "58cc8e0b83a9e2013f78fa324ffca8ed",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 55929,
"upload_time": "2023-12-20T15:37:34",
"upload_time_iso_8601": "2023-12-20T15:37:34.789071Z",
"url": "https://files.pythonhosted.org/packages/7b/1d/beb285d87d9d48c676251c346972dc881ab9f427a98e100ecd742655c69e/rdf_fingerprinter-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "952051e7cffb2baaea93d73d2dc5d4f045e7d0002cb4742d849a5df0a492fa83",
"md5": "94e71570cc16018da1c47205630643c2",
"sha256": "ac6bec0cc02a190c6e7c740d89f7f90f98016f50566863bd80a8923927cc7e72"
},
"downloads": -1,
"filename": "rdf-fingerprinter-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "94e71570cc16018da1c47205630643c2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 52781,
"upload_time": "2023-12-20T15:37:36",
"upload_time_iso_8601": "2023-12-20T15:37:36.450052Z",
"url": "https://files.pythonhosted.org/packages/95/20/51e7cffb2baaea93d73d2dc5d4f045e7d0002cb4742d849a5df0a492fa83/rdf-fingerprinter-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-20 15:37:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "meaningfy-ws",
"github_project": "rdf-fingerprinter",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "rdf-fingerprinter"
}