{"id":20053007,"url":"https://github.com/eghuro/dcat-dry","last_synced_at":"2026-04-26T16:32:27.551Z","repository":{"id":42884728,"uuid":"153852354","full_name":"eghuro/dcat-dry","owner":"eghuro","description":null,"archived":false,"fork":false,"pushed_at":"2023-06-02T20:25:40.000Z","size":1967,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-04T21:10:17.044Z","etag":null,"topics":["celery","data-cube","dcat","flask","indexing","linked-open-data","skos","sparql"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eghuro.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-10-19T23:35:04.000Z","updated_at":"2022-11-20T09:53:04.000Z","dependencies_parsed_at":"2024-11-13T12:22:01.337Z","dependency_job_id":"c0eba709-b43b-4f00-8a7d-3d92b540cd29","html_url":"https://github.com/eghuro/dcat-dry","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/eghuro/dcat-dry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eghuro%2Fdcat-dry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eghuro%2Fdcat-dry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eghuro%2Fdcat-dry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eghuro%2Fdcat-dry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eghuro","download_url":"https://codeload.github.com/eghuro/dcat-dry/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eghuro%2Fdcat-dry/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32305035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T09:34:17.070Z","status":"ssl_error","status_checked_at":"2026-04-26T09:34:00.993Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["celery","data-cube","dcat","flask","indexing","linked-open-data","skos","sparql"],"created_at":"2024-11-13T12:20:53.637Z","updated_at":"2026-04-26T16:32:27.537Z","avatar_url":"https://github.com/eghuro.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"===============================\nDCAT DRY\n===============================\n\n.. |github| image:: https://img.shields.io/github/release-pre/eghuro/dcat-dry.svg\n.. |licence| image:: https://img.shields.io/github/license/eghuro/dcat-dry.svg\n\n|github|  |licence|\n\n\nDCAT-AP Dataset Relationship Indexer. Indexing linked data and relationships between datasets.\n\nFeatures:\n - index a distribution or a SPARQL endpoint\n - extract and index distributions from a DCAT catalog\n - extract a DCAT catalog from SPARQL endpoint and index distributions from it\n - generate a dataset profile\n - show related datasets based mainly on DataCube and SKOS vocabularies\n - indexing sameAs identities and related concepts\n\n\nBuild \u0026 run with Docker\n------------------------\n\nFor DCAT-DRY service only:\n\n.. code-block:: bash\n\n    docker build . -t dcat-dry\n    docker run -p 80:8000 --name dcat-dry dcat-dry\n\nFor the full environment use docker-compose:\n\n.. code-block:: bash\n\n    docker-compose up --build\n\nBuild \u0026 run manually\n---------------------\nCPython 3.8+ is supported.\n\nInstall redis server first. In following example we will assume it runs on localhost, port 6379 and DB 0 is used.\n\nSetup postgresql server as well. In the following example we will assume it runs on localhost, port 5432, DB is postgres and user/password is postgres:example\n\nYou will need some libraries installed: libxml2-dev libxslt-dev libleveldb-dev  libsqlite3-dev and sqlite3\n\nRun the following commands to bootstrap your environment ::\n\n    git clone https://github.com/eghuro/dcat-dry\n    cd dcat-dry\n    poetry install --with robots,gevent --without dev\n    # Start redis and postgres servers\n\n    # Export environment variables\n    export REDIS_CELERY=redis://localhost:6379/1\n    export REDIS=redis://localhost:6379/0\n    export DB=postgresql+psycopg2://postgres:example@localhost:5432/postgres\n\n    # Setup the database\n    alembic upgrade head\n\n    # Run concurrently\n    celery -A tsa.celery worker -l debug -Q high_priority,default,query,low_priority -c 4\n    gunicorn -w 4 -b 0.0.0.0:8000 --log-level debug app:app\n    nice -n 10 celery -l info -A tsa.celery beat\n\n\nIn general, before running shell commands, set the ``FLASK_APP`` and\n``FLASK_DEBUG`` environment variables ::\n\n    export FLASK_APP=autoapp.py\n    export FLASK_DEBUG=1\n\n\nDeployment\n----------\n\nTo deploy::\n\n    export FLASK_DEBUG=0\n    # Follow commands above to bootstrap the environment\n\nIn your production environment, make sure the ``FLASK_DEBUG`` environment\nvariable is unset or is set to ``0``, so that ``ProdConfig`` is used.\n\n\nShell\n-----\n\nTo open the interactive shell, run ::\n\n    flask shell\n\nBy default, you will have access to the flask ``app``.\n\n\nRunning Tests\n-------------\n\nTo run all tests, run ::\n\n    flask test\n\n\nBefore execution\n----------------\n\n# Prepare couchdb ::\n\n    curl -X PUT http://admin:password@127.0.0.1:5984/_users\n    curl -X PUT http://admin:password@127.0.0.1:5984/_replicator\n    curl -X PUT http://admin:password@127.0.0.1:5984/_global_changes\n\n# Migrate database ::\n\n    alembic upgrade head\n\n\nAPI\n-------------\n\nTo start batch scan, run  ::\n\n    flask batch -g /tmp/graphs.txt -s http://10.114.0.2:8890/sparql\n\nGet a full result ::\n\n    /api/v1/query/analysis\n\nQuery a dataset ::\n\n    /api/v1/query/dataset?iri=http://abc\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feghuro%2Fdcat-dry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feghuro%2Fdcat-dry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feghuro%2Fdcat-dry/lists"}