Materials
Info
The material index lists all materials present in the collection with object counts. Use it to populate a material filter UI or to explore what materials are represented before querying the objects collection.
endpoint:
GET https://data.designmuseumgent.be/v2/id/materials
| Code | Description |
|---|---|
| 200 | Successful request |
| 500 | Server error |
Response fields
| Field | Description | Example |
|---|---|---|
@type | CIDOC-CRM class | crm:E57_Material |
rdfs:label | Dutch label of the material | "glas (materiaal)" |
object_count | Number of objects consisting of this material | 1243 |
filter | Ready-to-use filter URL for the objects collection | ...?material=glas%20(materiaal) |
Results are sorted by object_count descending.
Using the material index
// fetch all materials
const index = await fetch('https://data.designmuseumgent.be/v2/id/materials').then(r => r.json())
// show sorted list
index["hydra:member"].forEach(m => {
console.log(`${m["rdfs:label"]}: ${m.object_count} objects`)
})
// use the filter URL directly
const glassObjects = index["hydra:member"].find(m => m["rdfs:label"] === "glas (materiaal)")
const objects = await fetch(glassObjects.filter).then(r => r.json())
// combine with other filters
const pinkGlass = `${glassObjects.filter}&color=pink&hasImages=true`
Relation to ?material= filter
The rdfs:label values in this endpoint correspond directly to the ?material= filter parameter on the objects collection:
GET https://data.designmuseumgent.be/v2/id/objects?material=glas (materiaal)
GET https://data.designmuseumgent.be/v2/id/objects?material=keramiek,porselein
Multiple values are treated as AND — the object must consist of all specified materials.
Example response
{
"@context": {
"crm": "http://www.cidoc-crm.org/cidoc-crm/",
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
"hydra": "http://www.w3.org/ns/hydra/core#"
},
"@id": "https://data.designmuseumgent.be/v2/id/materials",
"@type": "hydra:Collection",
"rdfs:label": "Material index",
"rdfs:comment": "All materials in the Design Museum Gent collection with object counts",
"hydra:totalItems": 187,
"hydra:member": [
{
"@type": "crm:E57_Material",
"rdfs:label": "glas (materiaal)",
"object_count": 1243,
"filter": "https://data.designmuseumgent.be/v2/id/objects?material=glas%20(materiaal)"
},
{
"@type": "crm:E57_Material",
"rdfs:label": "keramiek",
"object_count": 876,
"filter": "https://data.designmuseumgent.be/v2/id/objects?material=keramiek"
},
{
"@type": "crm:E57_Material",
"rdfs:label": "metaal",
"object_count": 743,
"filter": "https://data.designmuseumgent.be/v2/id/objects?material=metaal"
},
{
"@type": "crm:E57_Material",
"rdfs:label": "hout",
"object_count": 612,
"filter": "https://data.designmuseumgent.be/v2/id/objects?material=hout"
},
{
"@type": "crm:E57_Material",
"rdfs:label": "porselein",
"object_count": 534,
"filter": "https://data.designmuseumgent.be/v2/id/objects?material=porselein"
}
]
}