https://github.com/acdh-oeaw/vocabseditor

Vocabseditor is a web-based tool for collaborative work on controlled vocabularies development

https://github.com/acdh-oeaw/vocabseditor

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 3 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.4%) to scientific vocabulary

Keywords

controlled-vocabularies rdf semantic-web skos

Keywords from Contributors

interactive projection archival sequences observability autograding hacking shellcodes modular network-simulation
Last synced: 6 months ago · JSON representation

Repository

Vocabseditor is a web-based tool for collaborative work on controlled vocabularies development

Basic Info
Statistics
  • Stars: 24
  • Watchers: 12
  • Forks: 6
  • Open Issues: 7
  • Releases: 27
Topics
controlled-vocabularies rdf semantic-web skos
Created almost 7 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

Vocabseditor

flake8 Lint Test codecov

About

The purpose of the Vocabseditor is to provide a service for collaborative work on controlled vocabularies development.

The editor follows SKOS data model for the main elements of a vocabulary. The Dublin core schema is used to capture the metadata (such as date created, date modified, creator, contributor, source and other) about each element. Each concept scheme can be downloaded in RDF/XML and Turtle format as well as each individual concept.

The user management system allows a user to share a concept scheme she/he created with other users (called 'curators') to create new, edit and delete concepts and collections within this concept scheme. Each user can find a summary of their latest activity on user's page.

Technical setup

The application is implemented using Python and Django. It uses modules developed within DjangoBaseProject. It also provides REST API implemented with Django Rest Framework.

Install

  1. Clone the repo

  2. Create and activate virtual environment, run pip install -r requirements.txt

  3. Evaluate and adapt environement variables used in vocabseditor/settings.py

  4. Run

    python manage.py makemigrations

    python manage.py migrate

    python manage.py runserver

  5. Development server runs at localhost:8000

  6. Create admin user

    python manage.py createsuperuser

## Usage

### Import via cmd-line

Import an existing skos vocabulary (accepted formats are ttl, rdf): specify the file name, main language of the vocabulary, file format, your username

Run e.g.

python manage.py import_skos_vocab your_vocabulary.ttl en ttl your_username

### Export via cmd-line

Run e.g.

  • python manage.py dl_scheme --scheme-id 5 --filename hansi --format rdf

Serializes all SkosConcepts related to SkosConceptScheme with ID 5 as RDF/XML to a file named hansi.rdf

  • python manage.py dl_scheme --scheme-id 5

Serializes all SkosConcepts related to SkosConceptScheme with ID 5 as turtle to a file named dump.ttl

More information on how to use the tool in the Vocabs editor Wiki.

## Testing

Tests are located in /tests directory in an individual app folder.

Run tests for the whole project:

python manage.py test

Run tests with coverage:

coverage run manage.py test

coverage html

Docker

At the ACDH-CH we use a centralized database-server. So instead of spawning a database for each service our services are talking to a database on this centralized db-server. This setup is reflected in the dockerized setting as well, meaning it expects an already existing database (either on your host, e.g. accessible via 'localhost' or some remote one)

building the image

  • docker build -t vocabseditor:latest .
  • docker build -t vocabseditor:latest --no-cache . docker run -it --network="host" --rm --name vocabseditor --env-file .env vocabseditor

using published image

Docker images are publshed via GitHubs container registry: https://github.com/acdh-oeaw/vocabseditor/pkgs/container/vocabseditor

To use them run e.g. docker run -it -p 8020:8020 --name vocabseditor --env-file .env_local_docker ghcr.io/acdh-oeaw/vocabseditor:lates

running the image

To run the image you should provide an .env file to pass in needed environment variables; see example below:

DB_NAME=vocabs DB_USER=postgres DB_PASSWORD=postgres DB_HOST=localhost PROJECT_NAME=vocabseditor SECRET_KEY=randomstring DEBUG=True DJANGO_SUPERUSER_USERNAME=user_name DJANGO_SUPERUSER_PASSWORD=user_pw VOCABS_DEFAULT_PEFIX=myvocabs VOCABS_DEFAULT_PEFIX=de REDMINE_ID=12345 MIGRATE=yes

docker run -it --network="host" --rm --name vocabseditor --env-file .env vocabseditor

docker-compose (using external database)

docker-compose up

docker-compose-db (spawns own database)

docker-compose -f docker-compose-db.yml up

Owner

  • Name: Austrian Centre for Digital Humanities & Cultural Heritage
  • Login: acdh-oeaw
  • Kind: organization
  • Email: acdh@oeaw.ac.at
  • Location: Vienna, Austria

GitHub Events

Total
  • Create event: 5
  • Release event: 1
  • Issues event: 6
  • Watch event: 5
  • Delete event: 6
  • Issue comment event: 5
  • Push event: 25
  • Pull request event: 8
Last Year
  • Create event: 5
  • Release event: 1
  • Issues event: 6
  • Watch event: 5
  • Delete event: 6
  • Issue comment event: 5
  • Push event: 25
  • Pull request event: 8

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 346
  • Total Committers: 3
  • Avg Commits per committer: 115.333
  • Development Distribution Score (DDS): 0.338
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
zxenia k****a@g****m 229
csae8092 p****r@o****t 110
dependabot[bot] 4****] 7
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 44
  • Total pull requests: 43
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 19 days
  • Total issue authors: 9
  • Total pull request authors: 3
  • Average comments per issue: 1.05
  • Average comments per pull request: 0.26
  • Merged pull requests: 31
  • Bot issues: 0
  • Bot pull requests: 19
Past Year
  • Issues: 3
  • Pull requests: 7
  • Average time to close issues: 12 days
  • Average time to close pull requests: 2 minutes
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
  • csae8092 (25)
  • KlausIllmayer (10)
  • OzgeOzkaya (2)
  • abiUni (2)
  • bipsark (1)
  • c-vradis (1)
  • dersmon (1)
  • sstuhec (1)
  • bellerophons-pegasus (1)
Pull Request Authors
  • csae8092 (21)
  • dependabot[bot] (19)
  • zxenia (3)
Top Labels
Issue Labels
bug (8) enhancement (7) houskeeping (5) question (3) on hold (1)
Pull Request Labels
dependencies (19) python (2)

Dependencies

.github/workflows/deploy.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/metadata-action v3 composite
  • docker/setup-buildx-action v1 composite
.github/workflows/lint.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
  • py-actions/flake8 v1 composite
.github/workflows/test-app.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
Dockerfile docker
  • python 3.8.13-slim-bullseye build
docker-compose-db.yml docker
  • postgres latest
requirements.txt pypi
  • Django >=4.0.5,<4.1
  • PyGithub ==1.55
  • acdh-django-browsing *
  • celery >=5.2.7,<6
  • django-celery-results ==2.4.0
  • django-crispy-forms ==1.14.0
  • django-extensions >=3.1.0,<4
  • django-guardian ==2.4.0
  • django-mptt ==0.13.4
  • django-reversion ==5.0.1
  • djangorestframework >=3.13.1,<4
  • djangorestframework-guardian ==0.3.0
  • drf-yasg >=1.21.4,<2
  • gunicorn ==20.1.0
  • psycopg2-binary ==2.9.3
  • rdflib ==6.1.1
docker-compose.yml docker