FIFA KG Player Reports Weblog
Storyboard + Screencast

From WebDAV Folder to Published Weblog

How the FIFA World Cup 2026 player intelligence reports became a live Virtuoso WebDAV weblog: ordinary HTML report files remain the source of truth, while a VSP entry point turns the folder into a browsable, feed-enabled publication.

Screencast and guide assembled by weblog-from-webdav, screencast-recorder, and Claude Sonnet 5 on behalf of Kingsley Idehen.

A WebDAV folder holds the reports. A VSP page reads the folder. Virtuoso publishes the folder as a weblog. RSS, Atom, AtomPub, archive navigation, and direct post links emerge from the same file collection.
Narrated Screencast

Watch the Construction Chain

The screencast follows the storyboard scene order: the WebDAV source folder, the index.vsp weblog engine and publication shell, RSS and Atom feeds served from the same collection, the friendly public route, a selected post rendered inside the weblog shell, and finally that post's direct WebDAV resource link.

Scene 1

The Source Folder

The weblog begins with ordinary HTML documents at /DAV/home/demo/Public/fifa-kg-player-reports/. Each player report is already a self-contained intelligence artifact generated from the OpenLink FIFA World Cup Knowledge Graph. The folder is not a staging abstraction — it is the publishing substrate.

Scenes 2-4

Posts, Engine, and Publication Shell

Each .html file is treated as a weblog post. Virtuoso enumerates the WebDAV collection dynamically through its resource tables — the post list is not hand-maintained, and the newest resources appear first. Every post keeps two identities: its direct WebDAV resource URL, and its weblog permalink through the VSP route.

index.vsp is the weblog engine. It renders a publication shell — a sticky masthead, RSS/Atom/AtomPub links, a recency-ordered archive sidebar, search and filtering, and selected-post rendering through ?post={filename} — around the reports, while preserving the reports themselves inside an embedded reading frame. The reader experiences a weblog; the system still operates on files.

WebDAV FolderOrdinary HTML files
index.vspEnumerates and renders
Publication ShellMasthead, sidebar, feeds
Selected Post?post={filename}
Scene 5

Feeds From the Same Folder

The same index.vsp entry point serves alternate feed modes from the same discovered post list used by the HTML view — no separate feed generator required. Each feed item points back to the weblog route and the selected report.

ModeQueryContent-Type
RSS 2.0?a=rssapplication/rss+xml
Atom 1.0?a=atomapplication/atom+xml
AtomPub service?a=atomPubapplication/atomsvc+xml

The AtomPub service document downloads rather than renders inline in most browsers (its atomsvc+xml content type is not a browser-displayable format), so the screencast shows RSS and Atom live; the AtomPub response is captured here instead:

$ curl -s https://demo.openlinksw.com/DAV/home/demo/Public/fifa-kg-player-reports/index.vsp?a=atomPub <service xmlns="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom"> <workspace> <atom:title>FIFA KG Player Reports</atom:title> <collection href="index.vsp"> <atom:title>Posts</atom:title> </collection> </workspace> </service>
Scene 6

The Route

Virtuoso maps friendly public paths to the DAV collection via a VHOST mapping, declaring index.vsp as the default page. This is the moment the folder gains a public weblog address — and the mapping keeps the DAV collection executable as VSP, so the browser receives the rendered weblog rather than raw server-page source.

Friendly RouteStatus
demo.openlinksw.com/fifa-kg-player-reports/Live
demo.openlinksw.com/fifa-kg-players-reports/Live
demo.openlinksw.com/fifa-player-reports/Live
Scenes 7-8

Living Posts and the Deployable Bundle

Each report HTML file keeps its own intelligence sections — identity, tournament snapshot, passing and physical analytics, event maps, and live SPARQL query links. The weblog does not flatten or rewrite that content; it presents the selected report in context and supplies navigation around it. When a report is improved, the WebDAV resource is replaced, and the weblog picks up the improved document from the same collection.

The construction bundle that deploys the engine separates two concerns: content publication (the player report HTML files in WebDAV) and weblog engine publication (the VSP page, deploy SQL, and route mapping). That separation is what keeps the weblog maintainable.

Bundle FileRole
index.vspWeblog engine and publication shell
deploy-fifa-kg-player-reports-weblog.sqlUploads index.vsp into the DAV collection
define-fifa-kg-player-reports-route.sqlDefines the friendly VHOST routes
build_deploy_sql.pyRegenerates the deploy/route SQL from index.vsp
README.mdTarget collection, entry point, feed checks
Scene 9

Metadata and Facets

WebDAV resource metadata can carry schema:category values. When present, the weblog engine can expose category facets and filtered archive views without a separate content-management database — the file remains the post, and DAV properties enrich how it is discovered.

Scene 10

Publication Checks

The final check confirms the whole construction chain: the reports are in WebDAV, the VSP engine enumerates them, the route executes the engine, the weblog shell renders the selected report, feeds expose the same archive, and direct resource links remain available. At that point, the WebDAV collection has become a weblog.

FIFA KG -> player report HTML files -> WebDAV collection -> index.vsp -> Virtuoso route -> weblog + RSS + Atom + AtomPub

Ordinary files became a live, feed-enabled weblog through Virtuoso Server Pages over WebDAV.