{"id":50737625,"url":"https://github.com/vaimee/ontologies","last_synced_at":"2026-06-10T15:01:59.438Z","repository":{"id":279441308,"uuid":"938662754","full_name":"vaimee/ontologies","owner":"vaimee","description":"A collection of ontologies developed by VAIMEE or available online","archived":false,"fork":false,"pushed_at":"2026-05-23T17:27:44.000Z","size":96,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-23T19:11:40.032Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vaimee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-25T09:59:37.000Z","updated_at":"2026-05-23T17:27:47.000Z","dependencies_parsed_at":"2025-02-25T16:19:32.725Z","dependency_job_id":"05d0aee1-aa65-4000-a14a-72291b22133c","html_url":"https://github.com/vaimee/ontologies","commit_stats":null,"previous_names":["vaimee/ontologies"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vaimee/ontologies","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaimee%2Fontologies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaimee%2Fontologies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaimee%2Fontologies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaimee%2Fontologies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vaimee","download_url":"https://codeload.github.com/vaimee/ontologies/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaimee%2Fontologies/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34157453,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2026-06-10T15:01:58.240Z","updated_at":"2026-06-10T15:01:59.422Z","avatar_url":"https://github.com/vaimee.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ontologies\n\nA collection of ontologies developed by VAIMEE, integrating classes and properties from well-known ontologies to ensure interoperability and alignment with existing standards.\n\n## Requirements\n\n- Node.js 20 or newer for local HTML generation.\n- npm for installing the renderer dependencies.\n- Docker for building and running the nginx container locally.\n- A GitHub repository with GitHub Actions enabled for CI/CD publishing to Docker Hub.\n\n## Ontology Requirements\n\nThe renderer discovers ontology sources automatically from first-level ontology folders such as `agora/`, `jsap/`, `msg/`, `users/`, and `fsm/`.\n\nEach ontology source should:\n\n- Use Turtle-compatible syntax and have a `.ttl` or `.owl` extension.\n- Declare one ontology resource with `rdf:type owl:Ontology` or `a owl:Ontology`.\n- Define classes as `owl:Class` and properties as `owl:ObjectProperty` or `owl:DatatypeProperty`.\n- Prefer `rdfs:label` and `rdfs:comment` on classes and properties so the generated documentation has readable names and descriptions.\n- Prefer ontology-level metadata: `owl:title`, `dct:abstract`, and `dct:description`.\n\nIf ontology-level title, abstract, or description metadata is missing, the renderer adds fallback metadata in memory while generating HTML. The source ontology file is not modified.\n\n## Generate HTML Documentation\n\nInstall dependencies once:\n\n```sh\nnpm install --prefix rdf2html\n```\n\nGenerate all ontology pages and the landing page:\n\n```sh\nnpm run --prefix rdf2html build\n```\n\nThe build writes generated HTML beside each ontology source and creates a `public/` directory ready to be served by nginx. The landing page uses `public/ICON_VAIMEE.svg`, `#10B1D8`, and `#0F3E65`.\n\n## Ontology Graph Visualization\n\nThe landing page embeds a WebVOWL visualization for every ontology card.\n\nBy default the generated page uses the hosted WebVOWL service at `https://service.tib.eu/webvowl/` and passes each ontology URL with the `#iri=` parameter.\n\nWebVOWL is not only static HTML/JavaScript for Turtle or OWL files. Loading an ontology IRI requires the OWL2VOWL conversion endpoints provided by the WebVOWL application. Because this repository publishes a static nginx container, the WebVOWL application must run separately if you want to host it yourself.\n\nTo run WebVOWL from the upstream source code:\n\n```sh\ngit clone https://github.com/VisualDataWeb/WebVOWL.git\ncd WebVOWL\ndocker build -t webvowl:v1 .\ndocker compose up -d\n```\n\nExpose that WebVOWL service at a public URL, for example `https://ontologies.example.com/webvowl/`, then override `window.WEBVOWL_BASE_URL` before the generated script runs or adapt `rdf2html/render.js` to use that base URL.\n\nThe ontology files must also be reachable by the WebVOWL service. Local-only URLs such as `localhost` cannot be fetched by a remote WebVOWL service.\n\n## Build Locally\n\nBuild the nginx image:\n\n```sh\ndocker build -t ontologies .\n```\n\nRun it locally:\n\n```sh\ndocker run --rm -p 8080:80 ontologies\n```\n\nOpen `http://localhost:8080` to browse the generated ontology documentation.\n\n## Deploy With CI/CD\n\nThe workflow in `.github/workflows/publish.yml` builds the Docker image and publishes it to Docker Hub.\n\nIt runs automatically on pushes to `main` or `master`, and can also be started manually from the GitHub Actions tab.\n\n### Configure Docker Hub\n\nCreate a Docker Hub repository before publishing the image. For example, create `vaimee/ontologies` from the Docker Hub web interface.\n\nCreate a Docker Hub access token from Docker Hub account settings. Use this token for automation instead of your account password.\n\nConfigure these GitHub repository settings before running the workflow:\n\n- Secret `DOCKERHUB_USERNAME`: your Docker Hub username.\n- Secret `DOCKERHUB_TOKEN`: a Docker Hub access token. Use an access token instead of your account password.\n- Variable `DOCKERHUB_REPOSITORY`: the Docker Hub image name, for example `vaimee/ontologies`.\n\n### Publish From GitHub Actions\n\nAfter configuring the repository settings, push to `main` or `master`:\n\n```sh\ngit push origin main\n```\n\nOr start the `Publish ontologies` workflow manually from the GitHub Actions tab.\n\nThe workflow builds the Docker image from `Dockerfile`, regenerates the ontology HTML during the Docker build, and pushes the image to Docker Hub.\n\nThe published image is tagged as:\n\n- `\u003cdockerhub-repository\u003e:latest` for the default branch.\n- `\u003cdockerhub-repository\u003e:\u003cbranch\u003e` for branch builds.\n- `\u003cdockerhub-repository\u003e:sha-\u003ccommit\u003e` for immutable commit builds.\n\n### Publish Manually\n\nTo build and push the image from your local machine:\n\n```sh\ndocker login -u \u003cdockerhub-username\u003e\ndocker build -t \u003cdockerhub-repository\u003e:latest .\ndocker push \u003cdockerhub-repository\u003e:latest\n```\n\nFor example:\n\n```sh\ndocker login -u vaimee\ndocker build -t vaimee/ontologies:latest .\ndocker push vaimee/ontologies:latest\n```\n\nUse a Docker Hub access token when Docker asks for the password.\n\n### Build Multi-Architecture Images On macOS\n\nDocker Desktop for macOS includes Buildx. Use it to build images for both Apple Silicon and Linux AMD64 servers.\n\nCreate and select a Buildx builder:\n\n```sh\ndocker buildx create --name ontologies-builder --use\ndocker buildx inspect --bootstrap\n```\n\nBuild and push a multi-architecture image to Docker Hub:\n\n```sh\ndocker login -u \u003cdockerhub-username\u003e\ndocker buildx build \\\n  --platform linux/amd64,linux/arm64 \\\n  -t \u003cdockerhub-repository\u003e:latest \\\n  --push \\\n  .\n```\n\nFor example:\n\n```sh\ndocker login -u vaimee\ndocker buildx build \\\n  --platform linux/amd64,linux/arm64 \\\n  -t vaimee/ontologies:latest \\\n  --push \\\n  .\n```\n\nUse `--push` for multi-architecture images. Docker cannot load a multi-platform manifest into the local Docker image store with `--load`.\n\nTo build only for the current Mac architecture and load it locally:\n\n```sh\ndocker buildx build --platform linux/arm64 -t ontologies:local --load .\n```\n\nTo build an AMD64 image on Apple Silicon and load it locally for testing:\n\n```sh\ndocker buildx build --platform linux/amd64 -t ontologies:amd64 --load .\n```\n\n### Run The Published Image\n\nTo deploy the published container on a server:\n\n```sh\ndocker login -u \u003cdockerhub-username\u003e\ndocker pull \u003cdockerhub-repository\u003e:latest\ndocker run -d --name ontologies --restart unless-stopped -p 80:80 \u003cdockerhub-repository\u003e:latest\n```\n\nReplace `\u003cdockerhub-username\u003e` and `\u003cdockerhub-repository\u003e` with your Docker Hub account and repository values.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaimee%2Fontologies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaimee%2Fontologies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaimee%2Fontologies/lists"}