{"id":22025874,"url":"https://github.com/digitallinguistics/database","last_synced_at":"2026-05-08T19:31:10.857Z","repository":{"id":65389581,"uuid":"591203695","full_name":"digitallinguistics/database","owner":"digitallinguistics","description":"A Node.js Cosmos DB client for DLx projects.","archived":false,"fork":false,"pushed_at":"2023-06-24T15:52:05.000Z","size":614,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-20T01:57:48.556Z","etag":null,"topics":["cosmos-db","cosmosdb","database","digital-linguistics","linguistics"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/digitallinguistics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-20T06:59:22.000Z","updated_at":"2023-01-30T20:51:15.000Z","dependencies_parsed_at":"2023-02-24T19:00:20.091Z","dependency_job_id":null,"html_url":"https://github.com/digitallinguistics/database","commit_stats":null,"previous_names":["digitallinguistics/db"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/digitallinguistics/database","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitallinguistics%2Fdatabase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitallinguistics%2Fdatabase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitallinguistics%2Fdatabase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitallinguistics%2Fdatabase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/digitallinguistics","download_url":"https://codeload.github.com/digitallinguistics/database/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitallinguistics%2Fdatabase/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32794530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["cosmos-db","cosmosdb","database","digital-linguistics","linguistics"],"created_at":"2024-11-30T07:20:16.355Z","updated_at":"2026-05-08T19:31:10.849Z","avatar_url":"https://github.com/digitallinguistics.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cosmos DB Client for Digital Linguistics (DLx)\n\n## Database Model\n\nThe DLx database has two containers:\n\n- `data`\n- `metadata`\n\n## Data\n\nThe `data` container contains Lexemes and Texts. This container is partitioned by language (partition key `/language/id`). As such, all items in the `data` container must have a `language` property whose value is an object with, minimally, an `id` property. Each item in the container must also have a `\"type\"` of either `\"Lexeme\"` or `\"Text\"`. As an example:\n\n```json\n{\n  \"type\": \"Lexeme\",\n  \"language\": {\n    \"id\": \"f8a669d3-131b-44f3-88ab-edaa33604202\",\n    \"name\": {\n      \"eng\": \"Chitimacha\"\n    }\n  }\n}\n```\n\n## Metadata\n\nThe `metadata` container contains all other types of database objects. Each item in this container must have a `\"type\"` property, which is also its partition key (`/type`).\n\n### Types of Metadata\n\n- `BibliographicSource`\n- `Language`\n- `Location`\n- `Media`\n- `Person`\n- `User`\n\n## Permissions\n\nThere are 4 types of permissions:\n\n- `public`: Any user may view the resource.\n- `viewer`: The user may view the resource, even when not public.\n- `editor`: The user may edit but not delete the resource.\n- `admin`: The user may edit and delete the resource, or set permissions for it.\n\nObjects which have permissions:\n\n- Bundle\n- Language\n- Note (`public` only)\n- Project\n- Status (`public` only)\n\nPermissions on one resource do *not* imply certain permissions on another permissioned resource. There is no hierarchy of permissions between Projects and Languages. If a Project is publicly viewable, its languages may not be, and vice versa.\n\nPermissions for other items *are* determined by their parent item, because they are only ever viewable in the context of that parent item. This *may* result in, for example, a single Lexeme being viewable using one filter but not another. The user may have permission to view a Project's info but not a Language's info, so the user could view that Lexeme in the context of the Project but not in the context of the Language.\n\nItems which get their permissions from their parent items:\n\n- Lexeme\n- Person\n- Text\n\nIt is up to software implementations to impose any type of consistency of permissions between Languages and Projects.\n\n## Releases\n\nReleases are currently manual:\n\n1. `npm version`\n2. Push to version control.\n3. Create a [GitHub release](https://github.com/digitallinguistics/database/releases).\n4. GitHub Actions automatically publishes the release to npm.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitallinguistics%2Fdatabase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigitallinguistics%2Fdatabase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitallinguistics%2Fdatabase/lists"}