-
Notifications
You must be signed in to change notification settings - Fork 151
Roadmap
Here are the features we're planning for LinkedDataHub, in a decreasing priority order. Feedback is welcome.
-
OpenID Connect-based login (with GitHub/Twitter/Google etc.)
- API-level support with refresh tokens
-
Decentralized use cases
-
Saving a local copy of a remote document
-
Editing documents in a remote LDH app
Shipped in 5.9.2. Edit affordances track the active pane's forwarded
acl:modelinks, and the write leg is a graph-scoped SPARQL UpdatePATCHthrough the proxy under anIf-Matchprecondition evaluated at the origin (http-tests/federation/)
-
-
Inline RDF editing
-
Multi-language UI
-
Full-text search
Instead of the SPARQL
regex()based implementation, search and autocomplete widgets should be able to use triplestore's full-text search API, if such is provided -
Support for SHACL constraints in addition to SPIN
This will require adding a new validating request filter
-
Better SEO
JSON-LD with schema.org metadata embedded in HTML (requires some kind of mapping if data is not using schema.org)
-
Ontology import that generates constructors for classes
Currently exists in experimental form
-
New UI for constructors: template with fields (as in Podio, PowerApps etc) instead of SPARQL query string
It could possibly be reused for CSV mapping queries
-
Date/time picker widget
-
Get rid of the server-side Linked Data proxy
- Load RDF data from remote sources client-side (this will make sources that do not send CORS headers inaccessible)
- Re-serialize RDF to RDF/XML (accepted by the XSLT stylesheets) client-side
-
New HTML+RDFa editor that allows:
Shipped in 5.7.0 (#336), replacing WYMEditor as the
rdf:XMLLiteralediting surface. Declarative XHTML+RDFa authoring in client-side XSLT 3.0 (RDFa-Editor), with W3C-conformant RDFa 1.1 extraction and Exclusive XML Canonicalization on save-
Semantic annotations (e.g. selecting text, choosing property from typeahead and entering a value to create a triple)
-
Embedding objects, similar to notebooks
Object blocks are defined purely in RDF and embedded as self-describing RDFa placeholders, edited as atomic islands and hydrated client-side from content-negotiated Linked Data URIs — only the RDFa description is stored
- Resources
- Files
- Charts
- SPARQL queries/results
- HTML content
-
-
Improved map layout
- Support for WKT literals (including polygons)
-
Improved graph layout
- Selecting/moving nodes
- Editing RDF in graph mode
-
Support for packages that combine RDF ontology and XSLT stylesheet
Shipped in 5.9.2 (#361) as a declarative mechanism: an application imports a package with a single
<app> ldh:import <package-uri>triple in its dataspace settings, and the package'sldt:ontologyjoins the ontology imports closure while itsac:stylesheetis composed into the application stylesheet in memory at compile time. Nothing is copied into the webapp -
Command line interface for the HTTP API
Shipped in 5.9.2 as
ldh(cli/) — a picocli/Jena port of thebin/shell scripts, one command per script with the same option names andbin/subdirectories as nested subcommand groups. Authenticates with the PKCS12 WebID keystore; a created document's URL is the only thing on stdout, so commands compose in pipelines. The http-tests suite builds its fixtures with it (260 invocations of 19 commands per CI run), which is also its end-to-end coverage. Thebin/HTTP scripts are deprecated; the certificate and WebID tooling there is not -
Vocabulary editor modes
- OWL ontology editor
- SKOS taxonomy editor
-
Graceful degradation -[ ] Make sure the UI is still functional with JavaScript disabled
-
Document versioning (possibly support for the Memento protocol)
GitHub-backed: writes mirror each document into a repository as a sorted N-Triples commit authored with the agent's WebID. RFC 7089 conformance shipped in 5.9.2 —
?version=mementos,?timemap(PROV-O description plus anapplication/link-formatserialization),?timegateforAccept-Datetimenegotiation, and the IANA-registered relation types. See Graph Versioning Implementation Plan-
See a list of revisions
History modal with agent attribution, opened from the document's action-bar timestamp (5.9.0)
-
See changes between revisions
From/To selection renders the diff on the document page itself — added/removed/changed block borders, marked property values, stacked old/new XHTML content (5.9.2)
-
Restore a document to an earlier version
Per-row action in the history modal; the restore rolls forward as a new commit, so mementos stay immutable as RFC 7089 requires (5.9.2)
-
-
Comments on documents? Social media style
-
New design theme (for example using Material design)
-
Mobile client app
-
Refactor the stylesheets using XSLT 3.0 packages