Closed
Conversation
Integrates 3d-force-graph / Three.js as a new GraphMode view in the container block. RDF/XML results are converted to nodes and links, rendered in an interactive 3D canvas constrained to the .main.span7 column. Supports node click (info panel), double-click (load linked resources via proxy), hover tooltip, and background click to dismiss. - Add three.js, three-spritetext, 3d-force-graph UMD bundles (v0.159.0 / v1.8.2 / v1.73.3) - Add 3d-force-graph.xsl: ForceGraph3D init template, RDF→graph data conversion, node/link mode templates - Add graph3d.xsl: event handlers (click, dblclick, hover, background), UpdateForceGraph3D, HTTP response handler, tooltip/info panel rendering - Add normalize-rdfxml.xsl, merge-rdfxml.xsl: RDF/XML normalization and merging pipeline - Add bs2:Graph template, GraphMode canvas div, CSS rules for .graph-3d-canvas - Wire graph3d.xsl into client.xsl; add $load-graph3d param to layout.xsl - Remove obsolete graph.xsl Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- layout.xsl: server-side GraphMode outputs a .graph-3d-canvas placeholder div instead of the 2D SVG renderer; client initializes ForceGraph3D - client.xsl: detect .graph-3d-canvas divs in ldh:rdf-document-response and call ldh:InitDocumentGraph3D (mirrors map/chart init pattern) - graph3d.xsl: add ldh:InitDocumentGraph3D named template for document mode - normalize-rdfxml.xsl: add 4th pass to prefix blank node IDs with a document-unique token, preventing ID collisions when merging multiple fetched RDF documents - merge-rdfxml.xsl: include blank node descriptions from new documents in the merge; split rdf:Description match to [@Rdf:about] for property merging and [@Rdf:nodeID] for copy-as-is Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- NodeClick writes to info-content panel (dl/dt/dd) instead of tooltip - Tooltip retained only for hover (position-aware) - Zoom-to-fit button and filter checkboxes wired via data-canvas-id - ldh:redisplay-graph reads per-canvas filter state; used by Init and Update - canvas-id param added to all ldh:UpdateForceGraph3D call sites - layout.xsl and view.xsl output info/filter/zoom UI inside canvas div Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ForceGraph3D clears the container element on init, wiping any server-rendered child elements. Mirror the pattern from 3D-Linked-Data/graph-client.xsl: server outputs only the bare canvas div; ldh:AppendGraph3DPanels appends tooltip, info-panel, show-panel, and zoom button via ixsl:append-content after FG3D has mounted. Called from both ldh:InitDocumentGraph3D and the view.xsl initial-load block. Also replaced hardcoded convert-data call in view.xsl with ldh:redisplay-graph so filter checkboxes take effect. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Panels need position:absolute to overlay the ForceGraph3D WebGL canvas instead of stacking below it (which gets clipped by overflow:hidden). Adds rules for tooltip, info-panel, show-panel, and zoom button. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
namedgraph
added a commit
that referenced
this pull request
Apr 11, 2026
- Add 30 s connectionRequestTimeout to both HTTP client builders in Application so pool exhaustion fails fast instead of blocking forever - Replace allMatch(HTMLMediaTypePredicate) with Request.selectVariant() in ProxyRequestFilter so real browser Accept headers (text/html, application/xml;q=0.9, */*;q=0.8) correctly trigger the early return, leaving (X)HTML responses to the downstream handler and Varnish cache - In client.xsl ldh:rdf-document-response, detect external ?uri= URIs and replace-content on #content-body with bs2:Row rendering of the fetched RDF instead of iterating stale home-page blocks Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.