Concept
Info
The concept endpoint provides access to a single concept from the Design Museum Gent thesaurus. Concepts are used to classify and describe objects in the collection — they include materials, techniques, object types, and other descriptive terms.
endpoint:
GET https://data.designmuseumgent.be/v2/id/concept/{PID}
# check if a concept exists
curl -k -I 'https://data.designmuseumgent.be/v2/id/concept/530000049'
example:
GET https://data.designmuseumgent.be/v2/id/concept/530000049
Response format
Data is returned as CIDOC-CRM compliant JSON-LD combining CIDOC-CRM and SKOS vocabularies using the following namespaces:
| Prefix | Namespace |
|---|---|
crm | http://www.cidoc-crm.org/cidoc-crm/ |
skos | http://www.w3.org/2004/02/skos/core# |
owl | https://www.w3.org/2002/07/owl# |
rdfs | http://www.w3.org/2000/01/rdf-schema# |
xsd | http://www.w3.org/2001/XMLSchema# |
prov | http://www.w3.org/ns/prov# |
Why SKOS + CIDOC-CRM?
CIDOC-CRM uses crm:E55_Type to represent concepts used for classification. SKOS properties (prefLabel, scopeNote, broader, narrower) are used alongside it for thesaurus-specific labelling and hierarchy — this is standard practice in cultural heritage linked data.
| Code | Description |
|---|---|
| 200 | Successful request returning a single concept as JSON-LD |
| 404 | Concept not found |
| 500 | Server error |
Fields
Basic identification
| Field | Type | Description | Example |
|---|---|---|---|
@id | URI | Internal DMG URI for the concept | https://data.designmuseumgent.be/v2/id/concept/530000049 |
@type | string | CIDOC-CRM class | crm:E55_Type |
rdfs:label | string | Default label (Dutch) | "pepervat" |
prov:generatedAtTime | xsd:dateTime | Timestamp of last harvest | "2026-04-17T16:53:19" |
Authority links
owl:sameAs contains an array of URIs linking the concept to external authority records. These may include Getty AAT and the Stad Gent datahub.
"owl:sameAs": [
"https://stad.gent/id/concept/530000049",
"http://vocab.getty.edu/aat/300043086"
]
Warning
Stad Gent URIs (stad.gent/id/...) used in owl:sameAs are persistent identifiers but do not currently resolve. Getty, Wikidata and EU Publications Office URIs do resolve and return linked data.
Provenance — prov:generatedAtTime
Each record includes a prov:generatedAtTime timestamp indicating when the record was last harvested from the source system. This is not the date the object was created or modified in the museum's collection management system — it is the date the DMG API last processed and stored this record.
"prov:generatedAtTime": {
"@type": "xsd:dateTime",
"@value": "2026-04-28T10:38:46.7599119"
}
| Field | Description |
|---|---|
@type | Always xsd:dateTime |
@value | ISO 8601 timestamp of the last harvest |
Incremental harvesting
Use prov:generatedAtTime together with the ?modifiedSince= parameter to build efficient incremental sync pipelines — only fetch records that have changed since your last harvest:
GET https://data.designmuseumgent.be/v2/id/concepts?modifiedSince=2026-05-01&fullRecord=true
The ETag and Last-Modified response headers on single entity endpoints expose the same timestamp for HTTP cache validation:
Preferred labels — skos:prefLabel
Array of preferred labels, one per available language.
| Field | Type | Description | Example |
|---|---|---|---|
@value | string | Label text | "pepper shaker" |
@language | string | Language code | "en" |
Multilingual labels
Labels are available in Dutch, French and English. French and English translations are added as part of an ongoing translation project — not all concepts have translations yet.
"skos:prefLabel": [
{ "@value": "pepervat", "@language": "nl" },
{ "@value": "poivrière", "@language": "fr" },
{ "@value": "pepper shaker", "@language": "en" }
]
Scope notes — skos:scopeNote
Array of scope notes describing the concept in more detail, one per available language.
| Field | Type | Description | Example |
|---|---|---|---|
@value | string | Scope note text | "Vessels with a perforated top..." |
@language | string | Language code | "en" |
Multilingual scope notes
Scope notes follow the same translation project as labels — Dutch is always present, French and English are added progressively.
"skos:scopeNote": [
{ "@value": "Vaten met een geperforeerde bovenkant...", "@language": "nl" },
{ "@value": "Récipients avec un couvercle perforé...", "@language": "fr" },
{ "@value": "Vessels with a perforated top...", "@language": "en" }
]
Broader concepts — skos:broader
Array of broader (parent) concepts in the thesaurus hierarchy.
| Field | Description | Example |
|---|---|---|
@id | Internal DMG URI of the broader concept | https://data.designmuseumgent.be/v2/id/concept/530006544 |
owl:sameAs | External authority URI (Getty AAT or Stad Gent) | http://vocab.getty.edu/aat/300198282 |
rdfs:label | Label of the broader concept | "specerijvat" |
Resolvable URIs
The @id is an internal DMG URI and is resolvable — you can fetch the full concept record directly from it:
GET https://data.designmuseumgent.be/v2/id/concept/530006544
Info
When a broader concept exists in the DMG thesaurus, its internal URI is used as @id and the external authority URI is preserved as owl:sameAs. If no internal match exists, the external URI is used as @id directly.
Narrower concepts — skos:narrower
Array of narrower (child) concepts in the thesaurus hierarchy.
| Field | Description | Example |
|---|---|---|
@id | Internal DMG URI of the narrower concept | https://data.designmuseumgent.be/v2/id/concept/530006141 |
owl:sameAs | External authority URI (Getty AAT or Stad Gent) | http://vocab.getty.edu/aat/300043030 |
rdfs:label | Label of the narrower concept | "peperstrooier" |
Resolvable URIs
Each @id in skos:narrower is resolvable — you can fetch the full concept record directly from it:
GET https://data.designmuseumgent.be/v2/id/concept/530006141
Info
When a narrower concept exists in the DMG thesaurus, its internal URI is used as @id and the external authority URI is preserved as owl:sameAs. If no internal match exists, the external URI is used as @id directly.
Example response
{
"@id": "https://data.designmuseumgent.be/v2/id/concept/530000049",
"@type": "crm:E55_Type",
"@context": {
"crm": "http://www.cidoc-crm.org/cidoc-crm/",
"owl": "https://www.w3.org/2002/07/owl#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"prov": "http://www.w3.org/ns/prov#",
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
"skos": "http://www.w3.org/2004/02/skos/core#"
},
"owl:sameAs": [
"https://stad.gent/id/concept/530000049",
"http://vocab.getty.edu/aat/300043086"
],
"rdfs:label": "pepervat",
"skos:prefLabel": [
{ "@value": "pepervat", "@language": "nl" },
{ "@value": "poivrière", "@language": "fr" },
{ "@value": "pepper shaker", "@language": "en" }
],
"skos:scopeNote": [
{ "@value": "Vaten met een geperforeerde bovenkant voor het strooien van peper op voedsel. Worden gemaakt in een verscheidenheid van vormen en materialen en vormen vaak een paar met een zoutvaatje.", "@language": "nl" },
{ "@value": "Récipients avec un couvercle perforé permettant de saupoudrer du poivre sur les aliments. Fabriqués dans une variété de formes et de matériaux, ils forment souvent une paire avec une salière.", "@language": "fr" },
{ "@value": "Vessels with a perforated top for sprinkling pepper on food. Made in a variety of shapes and materials, and often forming a pair with a salt shaker.", "@language": "en" }
],
"skos:broader": [
{
"@id": "https://data.designmuseumgent.be/v2/id/concept/530006544",
"owl:sameAs": "http://vocab.getty.edu/aat/300198282",
"rdfs:label": "specerijvat"
}
],
"skos:narrower": [
{
"@id": "https://data.designmuseumgent.be/v2/id/concept/530006141",
"owl:sameAs": "http://vocab.getty.edu/aat/300043030",
"rdfs:label": "peperstrooier"
}
],
"prov:generatedAtTime": {
"@type": "xsd:dateTime",
"@value": "2026-04-17T16:53:19.2689332"
}
}