{"id":24761714,"url":"https://github.com/driebit/linked-data","last_synced_at":"2026-02-14T14:03:43.962Z","repository":{"id":73187191,"uuid":"86674032","full_name":"driebit/linked-data","owner":"driebit","description":"Dutch Linked Data Strategy","archived":false,"fork":false,"pushed_at":"2017-03-30T10:45:00.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-02T08:44:09.007Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/driebit.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":"2017-03-30T07:44:53.000Z","updated_at":"2017-03-30T10:30:02.000Z","dependencies_parsed_at":"2023-09-19T08:33:02.025Z","dependency_job_id":null,"html_url":"https://github.com/driebit/linked-data","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/driebit/linked-data","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/driebit%2Flinked-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/driebit%2Flinked-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/driebit%2Flinked-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/driebit%2Flinked-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/driebit","download_url":"https://codeload.github.com/driebit/linked-data/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/driebit%2Flinked-data/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29446323,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T12:43:28.304Z","status":"ssl_error","status_checked_at":"2026-02-14T12:43:14.160Z","response_time":53,"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":[],"created_at":"2025-01-28T19:19:04.092Z","updated_at":"2026-02-14T14:03:43.946Z","avatar_url":"https://github.com/driebit.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"Dutch Linked Data Strategy\n==========================\n\nContents\n--------\n\n1. [Introduction](#introduction)\n2. [Registry](#registry)\n3. [Data sources](#data-sources)\n4. [Connectors](#connectors)\n5. [Glossary](#glossary)\n\nIntroduction\n------------\n\nThis document describes an architecture for Dutch linked data sources. \n\n### General principles\n\n1. Curators remain in control of their data.\n\n2. Do not aggregate.\n\n3. Focused on application of linked data.\n\n4. As opposed to [Aggregators](#aggregator), a separation of concerns between\n   data discovery (Registry), retrieval (data source) and search (Connectors).\n\nRegistry\n--------\n\nThe registry is a directory of all Dutch linked data sets available. Its aim \nis to enable *discovery* of linked data sets in a central location. \n\nIt differs from [Aggregators](#aggregator) in three ways.\n\n1. While the Registry contains URIs to entities, it does not store any entity\n   data. The [data source](#data-source) remains the authoritative place for \n   entity data. \n2. Because the Registry stores no entity data, it places no restrictions on the\n   structure and terms of metadata other than those described under \n   [Data sources](#data-sources).\n3. The Registry offers no advanced search capabilities of the data itself. \n   Searching the data should be done through [Connectors](#connector).   \n    \nThis enables the Registry to combine the ideal of decentralized data storage \nand retrieval with the pragmatism of having a single location to discover \ndata sets.\n\nThe Registry is a directory of all available Dutch linked data sources. It \ncontains data on:\n\n- organisations\n- [data sets](#data-set)\n- [entities](#entity).\n\nData sources\n------------\n\n[Data sources](#data-source) can register data sets with the Registry only if \nthey adhere to the following standards.\n\n1. Data sources MUST offer linked data on persistent URIs.\n2. Data sources SHOULD offer realtime or near-realtime data at those URIs.\n\n### Linked data on persistent URIs\n\n\u003e Data sources MUST offer linked data on persistent URIs.\n\nThe persistent URIs MAY be based on some meaningful domain name (such as the \nname of the organisation or dataset) or it MAY be a handle URI.\n\nFor the dataset to be considered linked, it:\n- MUST contain a persistent URI for each entity in the dataset \n- MUST use predicate URIs for its descriptions \n  ([4 star linked data](https://www.w3.org/DesignIssues/LinkedData.html))\n- MAY offer links to other datasets (5 star linked data)\n\n### Request an entity\n\n#### Request an entity from a custom domain name\n\nWhen the URI is a custom domain name, such as \n`https://zuiderzeecollectie.nl/collect/52829`:\n\n```http\nGET /collect/52829 HTTP/1.1\nHost: zuiderzeecollectie.nl\nAccept: application/ld+json\n```\n\nThe server could respond:\n\n```json\nHTTP/1.1 200 OK \nContent-Type: application/ld+json; charset=UTF-8\n\n{\n    \"@id\": \"https://zuiderzeecollectie.nl/collect/52829\",\n    \"@type\": \"http://dbpedia.org/ontology/victim\",\n    \"http://purl.org/dc/terms/created\": \"2006-02-28T18:23:16+00:00\",\n    \"http://purl.org/dc/terms/modified\": \"2016-07-31T10:19:25+00:00\",\n    \"http://purl.org/dc/terms/issued\": \"2006-02-28T18:23:00+00:00\",\n    \"http://purl.org/dc/terms/date\": \"1910-12-19T00:00:00+00:00\",\n    \"http://xmlns.com/foaf/0.1/familyName\": \"Lovelace\",\n    \"http://xmlns.com/foaf/0.1/firstName\": \"Ada\",\n    \"http://purl.org/dc/terms/title\": \"Ada Lovelace\",\n    \"http://purl.org/dc/terms/abstract\": \"\",\n    \"http://purl.org/dc/terms/description\": \"\",\n    \"http://purl.org/dc/terms/publisher\": {\n        \"@id\": \"https://zuiderzeecollectie.nl\n    }\n}\n```\n\n#### Request an entity from a handle URI \n\nIf the URI is a handle, e.g. `http://hdl.handle.net/11259/collection.38743` the \nserver MUST return that handle as the resource URI (instead of the internal URI \nthat the handle refers to):\n\n```http\nGET /11259/collection.38743 HTTP/1.1\nHost: hdl.handle.net\nAccept: application/ld+json\n```\n\nResponds with:\n\n```json\nHTTP/1.1 200 OK \nContent-Type: application/ld+json; charset=UTF-8\n\n{\n    \"@id\": \"http://hdl.handle.net/11259/collection.38743\"\n    ...\n}\n```\n\n### Realtime data\n\nAn important objection against [Aggregators](glossary.md#Aggregator) and \n[data dumps](glossary.md#Data-dumps) is that they lag behind updates in the \noriginal data. To prevent this, \n\n\u003e Data sources SHOULD offer realtime or near-realtime data at these URIs.\n\n### Linked data wrapper\n\nNot all data source software is capable of above requirements. Therefore, a \nlinked data wrapper MAY be introduced that takes care of:\n\n- converting proprietary data to linked data\n- serving the linked data at persistent URIs.\n\nIn this scenario, the requirements for data sources apply to the linked data\nwrapper rather than directly to the source.\n\nConnectors\n----------\n\n\n\n\n\nGlossary\n--------\n\n### Aggregator\n\nTODO\n\nExamples: [Europeana](http://www.europeana.eu). \n\nTODO \n\n### Collectiebeheersysteem (CBS)\n\nSee [data source](#data-source).\n\n### Data dumps\n\nTODO\n\n### Data set\n\nOr ‘collection’. Consists of [entities](#entity).\n\n### Data source\n\nTODO. See [Data source](source.md) chapter.\n\n### Entity\n\nThe items (or objects) in a [dataset](#data-set).\n\n### Registry\n\nTODO\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdriebit%2Flinked-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdriebit%2Flinked-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdriebit%2Flinked-data/lists"}