DDS @ ISWC2026

Torsten Schrade, Long John SPARQL and the Secret Treasures of Bari, ChatGPT, CC BY 4.0
This story investigates cultural heritage data related to Bari. We use the AI Assistant to find and query the Culture Knowledge Graph, then examine the findings through graph exploration, classification, images, music notation and geographical maps. Each analysis supports a different research perspective on the Bari data; all queries, source records and cahts remain available for inspection.
Open Data Story Lab, enter the Workbench and explore the Welcome Story. Use the Knowledge Graph and Data Stories menus to see the available material. New starts an empty project, Import opens a saved project, and Export creates a portable .lodeon.zip. The editable project lives in your browser; graph and model requests go to the selected services.
Select the Culture Knowledge Graph and Claude 5.5 in the AI Assistant. The graph supplies data; the model formulates requests and explanations.
Question: What items related to Bari exist in the Knowledge Graph? Show me a tabular overview with item, source and images where possible.
Many findings concern San Nicola. Construction of the basilica began after the arrival of St Nicholas's relics in Bari in 1087; Abbot Elia oversaw the project (Archdiocese of Bari-Bitonto). Records of portals, capitals and Elia's throne offer starting points for studying architectural sculpture, religious imagery and ecclesiastical representation. The SPARQL query returns 467 Data Items through authority links to Bari and San Nicola in Bari. This is a defined selection of catalogue records, not an inventory of every object in the city.
The image could not be loaded The image host did not provide a displayable image to this browser.
Hauptportal, Source
The image could not be loaded The image host did not provide a displayable image to this browser.
Nordportal (Porta dei Leoni), Source
The image could not be loaded The image host did not provide a displayable image to this browser.
Kathedra des Erzbischofs Elias, Source
Expand the model/tool-call list. The model requests Tools; Core checks and executes them, then returns their results for further research. A separate Answer call composes the final response. Inspect the executed query, result rows, token usage and any errors. MCP provides the Tool interface; a successful execution does not by itself establish the historical interpretation.
Save the result-set Tool Card in Project Memory, insert its query as a Query node and choose Run. Refer to this saved Bari selection in subsequent questions rather than silently redefining it. You can inspect or rerun the query without asking the model again.
PREFIX cto: <https://nfdi4culture.de/ontology/>
PREFIX nfdicore: <https://nfdi.fiz-karlsruhe.de/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX schema: <http://schema.org/>
SELECT ?resource (SAMPLE(STR(?l)) AS ?label) (SAMPLE(STR(?img)) AS ?image) (GROUP_CONCAT(DISTINCT STR(?anchor);
SEPARATOR = " | ") AS ?anchors) WHERE {
VALUES ?anchor {
<http://www.wikidata.org/entity/Q3519>
<https://d-nb.info/gnd/4086384-0>
<https://d-nb.info/gnd/4405794-5>
}
?resource <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> cto:CTO_0001005;
cto:CTO_0001011 ?place.
?place nfdicore:NFDI_0001006 ?anchor.
OPTIONAL {
?resource rdfs:label ?l.
}
OPTIONAL {
?resource schema:associatedMedia ?m.
?m <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> schema:ImageObject;
cto:CTO_0001021 ?img.
}
}
GROUP BY ?resource
ORDER BY (?resource)
OFFSET 0
A portal photograph can connect to a place, a collection and subjects represented in its decoration. The Graph Explorer exposes these relationships instead of reducing the record to a title. Iconclass links make catalogued motifs comparable across records; they are classification statements, not a new visual interpretation by the model.
Question: Please create a Graph Explorer for the items related to Bari
Start with one Bari record, expand its connections and follow an external classifier. Read the relation labels: sharing a place or motif does not mean that two records describe the same physical object.
Graph exploration ready.
The saved chart counts distinct Bari records per Iconclass classifier. Foliage ornament leads with 82 records, followed by predatory animals with 46. This suggests a focus for closer study of architectural decoration, not a conclusion about all art in Bari. Multiple photographs can document one object, and one record can carry several classifiers.
Request the chart, inspect its grouping query and check that labels, not IRIs, identify the categories. The saved view is a grouped bar chart; switch to Pie and back to compare readability. Pie slices show shares within the top-ten classification counts, not mutually exclusive shares of the 467 items.
Question: Please create a chart with the top ten counts for all items related to Bari grouped by their external classifiers.
{
"version": 2,
"renderer": "plotly",
"sourceMode": "sparql",
"source": "PREFIX cto: <https://nfdi4culture.de/ontology/>\nPREFIX nfdicore: <https://nfdi.fiz-karlsruhe.de/ontology/>\nPREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n\nSELECT\n (COALESCE(MIN(STR(?l)), STR(?classifier)) AS ?label)\n (COUNT(DISTINCT ?resource) AS ?count)\n ?classifier\nWHERE {\n VALUES ?anchor {\n <http://www.wikidata.org/entity/Q3519>\n <https://d-nb.info/gnd/4086384-0>\n <https://d-nb.info/gnd/4405794-5>\n }\n\n ?resource a cto:CTO_0001005 ;\n cto:CTO_0001011 ?place ;\n cto:CTO_0001026 ?classifier .\n\n ?place nfdicore:NFDI_0001006 ?anchor .\n ?classifier a cto:CTO_0001030 .\n\n OPTIONAL { ?classifier rdfs:label ?l }\n}\nGROUP BY ?classifier\nORDER BY DESC(?count) ?classifier\nLIMIT 10",
"url": "",
"urlFormat": "csv",
"chartType": "groupedBar",
"mapping": {
"x": "label",
"y": "count",
"group": "classifier"
},
"plotlyDataJson": "[\n {\n \"type\": \"bar\",\n \"name\": \"https://iconclass.org/48A9831\",\n \"x\": [\n \"foliage, tendrils, branches ~ ornament\"\n ],\n \"y\": [\n 82\n ]\n },\n {\n \"type\": \"bar\",\n \"name\": \"https://iconclass.org/25F23%28...%29\",\n \"x\": [\n \"beasts of prey, predatory animals (with NAME)\"\n ],\n \"y\": [\n 46\n ]\n },\n {\n \"type\": \"bar\",\n \"name\": \"https://iconclass.org/48A981\",\n \"x\": [\n \"ornament ~ geometric motifs\"\n ],\n \"y\": [\n 39\n ]\n },\n {\n \"type\": \"bar\",\n \"name\": \"https://iconclass.org/25F3\",\n \"x\": [\n \"birds\"\n ],\n \"y\": [\n 33\n ]\n },\n {\n \"type\": \"bar\",\n \"name\": \"https://iconclass.org/1\",\n \"x\": [\n \"Religion and Magic\"\n ],\n \"y\": [\n 28\n ]\n },\n {\n \"type\": \"bar\",\n \"name\": \"https://iconclass.org/11G\",\n \"x\": [\n \"angels\"\n ],\n \"y\": [\n 27\n ]\n },\n {\n \"type\": \"bar\",\n \"name\": \"https://iconclass.org/47I423\",\n \"x\": [\n \"vintage, grape harvest\"\n ],\n \"y\": [\n 25\n ]\n },\n {\n \"type\": \"bar\",\n \"name\": \"https://iconclass.org/25F\",\n \"x\": [\n \"animals\"\n ],\n \"y\": [\n 22\n ]\n },\n {\n \"type\": \"bar\",\n \"name\": \"https://iconclass.org/48A9854\",\n \"x\": [\n \"Ornamente in Form von Vasen\"\n ],\n \"y\": [\n 22\n ]\n },\n {\n \"type\": \"bar\",\n \"name\": \"https://iconclass.org/11D12\",\n \"x\": [\n \"das Kreuz in Verbindung mit Christus\"\n ],\n \"y\": [\n 21\n ]\n }\n]\n",
"layoutJson": "{\n \"autosize\": true,\n \"paper_bgcolor\": \"#ffffff\",\n \"plot_bgcolor\": \"#ffffff\",\n \"font\": {\n \"family\": \"Inter, system-ui, sans-serif\",\n \"color\": \"#1f2328\"\n },\n \"colorway\": [\n \"#000000\",\n \"#E69F00\",\n \"#56B4E9\",\n \"#009E73\",\n \"#F0E442\",\n \"#0072B2\",\n \"#D55E00\",\n \"#CC79A7\"\n ],\n \"margin\": {\n \"l\": 56,\n \"r\": 32,\n \"t\": 48,\n \"b\": 64\n },\n \"showlegend\": true,\n \"xaxis\": {\n \"automargin\": true,\n \"gridcolor\": \"#e6e6e6\",\n \"zerolinecolor\": \"#d6d6d6\"\n },\n \"yaxis\": {\n \"automargin\": true,\n \"gridcolor\": \"#e6e6e6\",\n \"zerolinecolor\": \"#d6d6d6\"\n },\n \"barmode\": \"group\"\n}\n",
"configJson": "{\n \"responsive\": true,\n \"displaylogo\": false,\n \"scrollZoom\": false\n}\n",
"data": {
"columns": [
{
"name": "label",
"type": "string"
},
{
"name": "count",
"type": "number"
},
{
"name": "classifier",
"type": "string"
}
],
"rows": [
{
"label": "foliage, tendrils, branches ~ ornament",
"count": 82,
"classifier": "https://iconclass.org/48A9831"
},
{
"label": "beasts of prey, predatory animals (with NAME)",
"count": 46,
"classifier": "https://iconclass.org/25F23%28...%29"
},
{
"label": "ornament ~ geometric motifs",
"count": 39,
"classifier": "https://iconclass.org/48A981"
},
{
"label": "birds",
"count": 33,
"classifier": "https://iconclass.org/25F3"
},
{
"label": "Religion and Magic",
"count": 28,
"classifier": "https://iconclass.org/1"
},
{
"label": "angels",
"count": 27,
"classifier": "https://iconclass.org/11G"
},
{
"label": "vintage, grape harvest",
"count": 25,
"classifier": "https://iconclass.org/47I423"
},
{
"label": "animals",
"count": 22,
"classifier": "https://iconclass.org/25F"
},
{
"label": "Ornamente in Form von Vasen",
"count": 22,
"classifier": "https://iconclass.org/48A9854"
},
{
"label": "das Kreuz in Verbindung mit Christus",
"count": 21,
"classifier": "https://iconclass.org/11D12"
}
]
},
"figure": {
"data": [
{
"type": "bar",
"name": "https://iconclass.org/48A9831",
"x": [
"foliage, tendrils, branches ~ ornament"
],
"y": [
82
]
},
{
"type": "bar",
"name": "https://iconclass.org/25F23%28...%29",
"x": [
"beasts of prey, predatory animals (with NAME)"
],
"y": [
46
]
},
{
"type": "bar",
"name": "https://iconclass.org/48A981",
"x": [
"ornament ~ geometric motifs"
],
"y": [
39
]
},
{
"type": "bar",
"name": "https://iconclass.org/25F3",
"x": [
"birds"
],
"y": [
33
]
},
{
"type": "bar",
"name": "https://iconclass.org/1",
"x": [
"Religion and Magic"
],
"y": [
28
]
},
{
"type": "bar",
"name": "https://iconclass.org/11G",
"x": [
"angels"
],
"y": [
27
]
},
{
"type": "bar",
"name": "https://iconclass.org/47I423",
"x": [
"vintage, grape harvest"
],
"y": [
25
]
},
{
"type": "bar",
"name": "https://iconclass.org/25F",
"x": [
"animals"
],
"y": [
22
]
},
{
"type": "bar",
"name": "https://iconclass.org/48A9854",
"x": [
"Ornamente in Form von Vasen"
],
"y": [
22
]
},
{
"type": "bar",
"name": "https://iconclass.org/11D12",
"x": [
"das Kreuz in Verbindung mit Christus"
],
"y": [
21
]
}
],
"layout": {
"autosize": true,
"paper_bgcolor": "#ffffff",
"plot_bgcolor": "#ffffff",
"font": {
"family": "Inter, system-ui, sans-serif",
"color": "#1f2328"
},
"colorway": [
"#000000",
"#E69F00",
"#56B4E9",
"#009E73",
"#F0E442",
"#0072B2",
"#D55E00",
"#CC79A7"
],
"margin": {
"l": 56,
"r": 32,
"t": 48,
"b": 64
},
"showlegend": true,
"xaxis": {
"automargin": true,
"gridcolor": "#e6e6e6",
"zerolinecolor": "#d6d6d6"
},
"yaxis": {
"automargin": true,
"gridcolor": "#e6e6e6",
"zerolinecolor": "#d6d6d6"
},
"barmode": "group"
},
"config": {
"responsive": true,
"displaylogo": false,
"scrollZoom": false
}
}
}
Of the 467 saved records, 434 come from the Bibliotheca Hertziana photographic collection. Its research focus on Italian art and architecture helps contextualise the selection's concentration on architectural views and details. Such frequencies reflect documentation and cataloguing as well as the heritage itself.
Ask the Assistant to restrict the saved Bari query to this provider. Insert the Query proposal, run it and compare the subset with the original list.
Question: Create a SPARQL Query for a list of all Bari items that are published by the Bibliotheca Hertziana
PREFIX cto: <https://nfdi4culture.de/ontology/>
PREFIX nfdicore: <https://nfdi.fiz-karlsruhe.de/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?resource (SAMPLE(STR(?l)) AS ?label) (GROUP_CONCAT(DISTINCT STR(?anchor); separator=" | ") AS ?anchors)
WHERE {
VALUES ?anchor { <http://www.wikidata.org/entity/Q3519> <https://d-nb.info/gnd/4086384-0> <https://d-nb.info/gnd/4405794-5> }
VALUES ?feed { <https://nfdi4culture.de/id/E6064> }
?resource a cto:CTO_0001005 ;
cto:CTO_0001011 ?place ;
cto:CTO_0001006 ?feed .
?place nfdicore:NFDI_0001006 ?anchor .
OPTIONAL { ?resource rdfs:label ?l }
}
GROUP BY ?resource
ORDER BY ?resource
The first gallery records concern Elia's tomb and the tomb of Bona Sforza. The latter is a sixteenth-century funerary monument; the catalogue's details labelled Poland and Bari invite questions about dynastic commemoration. Image comparison can test how such associations are represented, but a label alone does not explain their meaning.
Use the IIIF question below, review the URL construction and select gallery view after insertion. This example uses Image API info.json resources rather than Presentation Manifests. The saved gallery contains five images: navigate, zoom and use full screen to compare details. Check the source record for identification, dating and rights; remote image availability is separate from query success.
Question: Please create a IIIF gallery special node with all Bari items published by the Bibliotheca Hertziana for insertion in my story. The IIIF manifests for each item are composed from the URL "https://fotothek.biblhertz.it/iiif/3/" followed by each image id and "/info.json" als last segment. The image id is always the last segment of each image IRI.
{
"version": 1,
"renderer": "iiif",
"sourceMode": "sparql",
"url": "",
"query": "PREFIX cto: <https://nfdi4culture.de/ontology/>\nPREFIX nfdicore: <https://nfdi.fiz-karlsruhe.de/ontology/>\nPREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n\nSELECT\n ?resource\n (COALESCE(MIN(STR(?l)), STR(?resource)) AS ?label)\n ?imageInfo\nWHERE {\n VALUES ?anchor {\n <http://www.wikidata.org/entity/Q3519>\n <https://d-nb.info/gnd/4086384-0>\n <https://d-nb.info/gnd/4405794-5>\n }\n\n ?resource a cto:CTO_0001005 ;\n cto:CTO_0001011 ?place ;\n cto:CTO_0001006 <https://nfdi4culture.de/id/E6064> .\n\n ?place nfdicore:NFDI_0001006 ?anchor .\n\n OPTIONAL { ?resource rdfs:label ?l }\n\n BIND(REPLACE(STR(?resource), \"^.*/\", \"\") AS ?imageId)\n\n BIND(\n IRI(CONCAT(\n \"https://fotothek.biblhertz.it/iiif/3/\",\n ?imageId,\n \"/info.json\"\n )) AS ?imageInfo\n )\n}\nGROUP BY ?resource ?imageInfo\nORDER BY ?resource\nLIMIT 5",
"knowledgeGraphProfileId": "culture-kg",
"resultMapping": {
"manifest": "manifest",
"imageInfo": "imageInfo",
"label": "label",
"resource": "resource"
},
"selectedItem": null,
"label": "",
"caption": "Bari items of the Bibliotheca Hertziana",
"height": 520,
"viewMode": "gallery",
"galleryReferenceStrip": "horizontal",
"failureLabel": "Unavailable IIIF resources"
}
The religious associations of Bari also appear in musical source titles such as S Nicola di Bari. These are sources documenting music, not evidence that a work was composed or performed in Bari. An incipit is a short opening used for identification and comparison, not a complete score.
Ask for the Music Notation node and inspect how the query assembles clef, key signature, time signature and note pattern into Plaine & Easie data. Play one opening, browse the entries and compare two incipits. The saved result has five distinct incipits; person links produce repeated rows. Playback is a rendering of encoded notation, not a historical recording.
Question: Please fetch five example incipits with clef, key, key signature, time signature and pattern for the Bari items that are musical works. Create a music notation special node combining these values in plaine and easy format in a data variabel and give me a music notation special node for this.
Loading music notation...
The Bari selection includes pilgrim badges labelled with St Nicholas and a bishop, alongside photographs and other objects. Mapping their references asks a different question from locating the objects themselves. The saved map contains 25 item-place pairs for 20 items; one model/hook record links to several places, including Bari, Brindisi and Hohenheim.
Ask for the map and inspect the federated query: the Culture KG supplies place identifiers, while Wikidata supplies coordinates. Open the popups and compare the stated relationships. These points establish neither provenance nor present location. Records lacking the required links remain unmapped. Insert and run the proposal, and inspect the clustering setting before interpreting overlapping points.
Question: Create an insertable Leaflet map for as many items as possible from the Bari list SPARQL query. Determine their available locations and Wikidata identifiers yourself and retrieve the coordinates from Wikidata. A supported subset is sufficient. Preserve multiple linked places per item, distinguish general place references from actual object locations, and report coverage and missing coordinates.
Map data ready: 25 features.
A final extension demonstrates how the same workflow can open a specialist 3D viewer. The selected Kompakkt object, Skull splat, is a separate example outside the Bari selection; no historical connection to Bari is established.
Request an Embed proposal, inspect the query and the generated viewer URL, then insert and run it. Explore the object in the embedded viewer. LODEON keeps the reference and its query; the external repository provides the interactive presentation.
Pirate question: Give me a embed special node that displays 3D skulls from the Kompakkt repository
Across these tasks, the Assistant supports query construction and explanation; queries and Tools make operations inspectable; historical interpretation requires checking the underlying records and images. Export the project to retain the queries, selected material and saved evidence. A later rerun may return different data as the sources evolve.