{"id":4284,"date":"2026-03-22T22:12:08","date_gmt":"2026-03-22T21:12:08","guid":{"rendered":"https:\/\/blog.factgrid.de\/?p=4284"},"modified":"2026-03-22T22:12:08","modified_gmt":"2026-03-22T21:12:08","slug":"introducing-gt-viz-visualize-factgrid-data-on-a-map","status":"publish","type":"post","link":"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/archives\/4284","title":{"rendered":"Introducing GT-Viz: Visualize FactGrid Data on a Map"},"content":{"rendered":"<p dir=\"auto\" data-sourcepos=\"7:1-7:248\">GT-Viz is a browser-based tool for visualizing geospatial and temporal data from SPARQL endpoints. You write a SPARQL query, provide the SPARQL endpoint for example FactGrid or Wikidata, and the results appear on an interactive map with a timeline.<\/p>\n<p dir=\"auto\" data-sourcepos=\"9:1-9:104\">It was built by a group of students at RWTH Aachen University as part of the Knowledge Graph Lab course.<\/p>\n<p dir=\"auto\" data-sourcepos=\"11:1-11:131\"><strong data-sourcepos=\"11:1-11:16\">Try it here:<\/strong> <a href=\"https:\/\/gtviz-kgl.wikidata.dbis.rwth-aachen.de\/tutorial\" target=\"_blank\" rel=\"nofollow noreferrer noopener\" data-sourcepos=\"11:18-11:131\">https:\/\/gtviz-kgl.wikidata.dbis.rwth-aachen.de\/tutorial<\/a><\/p>\n<h2>Input<\/h2>\n<p dir=\"auto\" data-sourcepos=\"17:1-18:128\">The only input needed is a SPARQL query. A set of built-in example queries covers FactGrid (Thirty Years&#8217; War battles), Wikidata (Napoleon, WW1 &amp; WW2, Magellan and Columbus voyages, Olympic venues), and can be loaded for testing the functionalities. The sidebar holds a SPARQL editor with syntax highlighting and validation. A Help panel documents the expected query variables.<\/p>\n<p dir=\"auto\" data-sourcepos=\"20:1-20:183\">The tool reads these variables from your query results: <code data-sourcepos=\"20:57-20:67\">?location<\/code> (WKT point), <code data-sourcepos=\"20:82-20:88\">?time<\/code> (date), <code data-sourcepos=\"20:98-20:108\">?category<\/code>, <code data-sourcepos=\"20:111-20:127\">?parentCategory<\/code>, and optionally <code data-sourcepos=\"20:145-20:151\">?name<\/code>, <code data-sourcepos=\"20:154-20:167\">?description<\/code>, and <code data-sourcepos=\"20:174-20:182\">?pathId<\/code>.<\/p>\n<h2 dir=\"auto\" data-sourcepos=\"20:1-20:183\">Map View<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4285\" src=\"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_map_view-scaled-1-1024x523.jpg\" alt=\"\" width=\"545\" height=\"278\" srcset=\"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_map_view-scaled-1-1024x523.jpg 1024w, https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_map_view-scaled-1-300x153.jpg 300w, https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_map_view-scaled-1-768x392.jpg 768w, https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_map_view-scaled-1-1536x784.jpg 1536w, https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_map_view-scaled-1-2048x1046.jpg 2048w\" sizes=\"auto, (max-width: 545px) 100vw, 545px\" \/><\/p>\n<p dir=\"auto\" data-sourcepos=\"27:1-27:238\">Query results appear as markers on an OpenStreetMap base layer. Parent categories each get a distinct color; sub-categories within a parent are separated by fill patterns. Clicking a marker shows its name, description, category, and date.<\/p>\n<p dir=\"auto\" data-sourcepos=\"29:1-29:153\">Two display options can be toggled: whether to draw connecting lines between points that share a <code data-sourcepos=\"29:98-29:106\">?pathId<\/code>, and whether to show points that have no date.<\/p>\n<p dir=\"auto\" data-sourcepos=\"31:1-31:198\">The Group Visibility panel shows the full category hierarchy from the query results. Individual sub-groups or entire parent categories can be toggled on or off. Item counts are shown at every level.<\/p>\n<h2 dir=\"auto\" data-sourcepos=\"31:1-31:198\">Timeline and Animation<\/h2>\n<p>The timeline at the bottom filters the map to a selected date window. Drag the handles to set start and end dates; the map updates immediately. The Play button animates the window forward through time at an adjustable speed (configurable in days, weeks, months, or years per second).<\/p>\n<h2>Historic Map Overlays<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-4286\" src=\"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_historic_maps-scaled-1-1024x523.jpg\" alt=\"\" width=\"525\" height=\"268\" srcset=\"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_historic_maps-scaled-1-1024x523.jpg 1024w, https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_historic_maps-scaled-1-300x153.jpg 300w, https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_historic_maps-scaled-1-768x392.jpg 768w, https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_historic_maps-scaled-1-1536x784.jpg 1536w, https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_historic_maps-scaled-1-2048x1046.jpg 2048w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<p>As an experimantal feature it is possible to load historic maps. The historic maps are overlayed on the base layer as they only cover a small portion of the globe. For testing we provided a small set of over 20 different historic maps. Only thing needed to integrate such a historic map is a tile server serving the map thus the set of supported historic maps can easaly be extended.<\/p>\n<h2 id=\"user-content-example-thirty-years-war-battles-from-factgrid\" dir=\"auto\" data-sourcepos=\"49:1-49:51\">Example: Thirty Years&#8217; War battles from FactGrid<\/h2>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li>Open <a href=\"https:\/\/gtviz-kgl.wikidata.dbis.rwth-aachen.de\" target=\"_blank\" rel=\"nofollow noreferrer noopener\" data-sourcepos=\"51:9-51:104\">https:\/\/gtviz-kgl.wikidata.dbis.rwth-aachen.de<\/a><\/li>\n<li>Click the lightbulb icon and select <em data-sourcepos=\"52:40-52:85\">&#8220;FactGrid: Battles of the Thirty Years&#8217; War&#8221;<\/em> \u2014 the endpoint and query fill in automatically.<\/li>\n<li>Click <strong data-sourcepos=\"53:10-53:16\">Run<\/strong>. Battles appear across central Europe; the timeline sets itself to 1618\u20131648.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>From there, use the Play button to step through the war year by year, the filter panel to isolate specific belligerents, and the Map Config tab to add a period map beneath the markers.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-4291\" src=\"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_30_year_war-1024x576.jpg\" alt=\"\" width=\"525\" height=\"295\" srcset=\"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_30_year_war-1024x576.jpg 1024w, https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_30_year_war-300x169.jpg 300w, https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_30_year_war-768x432.jpg 768w, https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_30_year_war-1536x864.jpg 1536w, https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-content\/uploads\/2026\/03\/kgl_gtviz_30_year_war.jpg 2000w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/p>\n<h2 id=\"user-content-feedback\" dir=\"auto\" data-sourcepos=\"61:1-61:11\">Feedback<\/h2>\n<p dir=\"auto\" data-sourcepos=\"63:1-63:167\">GT-Viz is a student project in its early stages. We are looking for feedback from the FactGrid community on what works, what is missing, and what would be most useful.<\/p>\n<p dir=\"auto\" data-sourcepos=\"65:1-65:62\"><strong data-sourcepos=\"65:1-65:62\">\u2192 <a href=\"https:\/\/forms.gle\/ky55BPpqRj5wjKY2A\" target=\"_blank\" rel=\"nofollow noreferrer noopener\" data-sourcepos=\"65:7-65:60\">Take the survey<\/a><\/strong><\/p>\n<p dir=\"auto\" data-sourcepos=\"65:1-65:62\"><!--more--><\/p>\n<hr data-sourcepos=\"67:1-67:3\" \/>\n<p dir=\"auto\" data-sourcepos=\"69:1-69:115\"><em data-sourcepos=\"69:1-69:115\">GT-Viz was developed in winter semester 2025\/26 by students of the Knowledge Graph Lab at RWTH Aachen University.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GT-Viz is a browser-based tool for visualizing geospatial and temporal data from SPARQL endpoints. You write a SPARQL query, provide the SPARQL endpoint for example FactGrid or Wikidata, and the results appear on an interactive map with a timeline. It was built by a group of students at RWTH Aachen University as part of the &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/archives\/4284\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Introducing GT-Viz: Visualize FactGrid Data on a Map&#8221;<\/span><\/a><\/p>\n","protected":false},"author":13,"featured_media":4294,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,10],"tags":[126,276,380,430,431,438],"ppma_author":[473],"class_list":["post-4284","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general","category-tools","tag-factgrid","tag-map-visualisation","tag-sparql","tag-visualisations","tag-visualisierungen","tag-wikidata"],"authors":[{"term_id":473,"user_id":13,"is_guest":0,"slug":"tim-holzheim","display_name":"Tim Holzheim","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/d0a408f0bd97af55cc4155460eabccda7d40881977c1b0c8d13b9e729908395b?s=96&d=mm&r=g","author_category":"","first_name":"Tim","last_name":"Holzheim","user_url":"","job_title":"","description":""}],"_links":{"self":[{"href":"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-json\/wp\/v2\/posts\/4284","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-json\/wp\/v2\/comments?post=4284"}],"version-history":[{"count":0,"href":"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-json\/wp\/v2\/posts\/4284\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-json\/wp\/v2\/media\/4294"}],"wp:attachment":[{"href":"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-json\/wp\/v2\/media?parent=4284"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-json\/wp\/v2\/categories?post=4284"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-json\/wp\/v2\/tags?post=4284"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/factgrid-tools.geschichte.uni-halle.de\/blog\/wp-json\/wp\/v2\/ppma_author?post=4284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}