Package: fairdatapoint
FAIR Data Point (FDP)Python implementation of FAIR Data Point.FDP is a RESTful web service that enables data owners to describe and to expose their datasets (metadata) as well as data users to discover more information about available datasets according to theFAIR Data Guiding Principles. In particular, FDP addresses the findability or discoverability of data by providing machine-readable descriptions (metadata) at four hierarchical levels:FDP->catalogs->datasets->distributionsFDP software specification can be foundhereFDP has been implemented in:PythonJavaInstallationTo install FDP, doFrom pypipipinstallfairdatapointOr from this repogitclonehttps://github.com/NLeSC/fairdatapoint.gitcdfairdatapoint
pipinstall.Runningfdp-runlocalhost80TheSwagger UIis enabled for FDP service, and you can have a try by visitinghttp://localhost.Unit testingRun tests (including coverage) with:pipinstall.[tests]pytestTODO: Include a link to your project's full documentation here.Deploy with DockerCheckfairdatapoint-service.Deploy without DockerBefore deploying FDP, it's necessary to first have a running SPARQL database which can be used to store metadata.pip install fairdatapoint

# fdp-run <host> <port> --db=<sparql-endpoint>
# Let's assume your <host> is 'example.com' and <sparql-endpoint> is 'http://example.com/sparql', then
fdp-run example.com 80 --db='http://example.com/sparql'Web API documentationFAIR Data Point (FDP) exposes the following endpoints (URL paths):EndpointGETPOSTPUTDELETEfdpOutput fdp metadataCreate new fdp metadataUpdate fdp metadataNot AllowedcatalogOutput all catalog IDsCreate new catalog metadataNot AllowedNot AlloweddatasetOutput all dataset IDsCreate new dataset metadataNot AllowedNot AlloweddistributionOutput all distribution IDsCreate new distribution metadataNot AllowedNot Allowedcatalog/<catalogID>Output <catalogID> metadataNot AllowedUpdate <catalogID> metadataRemove <catalogID> metadatadataset/<datasetID>Output <datasetID> metadataNot AllowedUpdate <datasetID> metadataRemove <datasetID> metadatadistribution/<distributionID>Output <distributionID> metadataNot AllowedUpdate <distributionID> metadataRemove <distributionID> metadataAccess endpoints to request metadata programmaticallyFDP:curl -iH 'Accept: text/turtle' [BASE URL]/fdpCatalog:curl -iH 'Accept: text/turtle' [BASE URL]/catalog/catalog01Dataset:curl -iH 'Accept: text/turtle' [BASE URL]/dataset/dataset01Distribution:curl -iH 'Accept: text/turtle' [BASE URL]/distribution/dist01FDP supports the following RDF serializations (MIME-types):Turtle:text/turtleN-Triples:application/n-triplesN3:text/n3RDF/XML:application/rdf+xmlJSON-LD:application/ld+jsonContributingIf you want to contribute to the development of FAIR Data Point,
have a look at thecontribution guidelines.LicenseCopyright (c) 2019,Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.CreditsThis package was created withCookiecutterand theNLeSC/python-template.