New "Language and labels" configuration element to specify
properties (e.g., rdfs:comment) and language tags
for the tooltip contents of entities and concepts. The default
is to use URIs. There is also an option to have void
tooltips.
New "Language and labels" configuration element to specify
properties
(e.g., rdfs:seeAlso, foaf:homepage)
for the hyperlinks on entities. The default is to use the
entity URI (according to the Linked Data principle). There is
also an option to have void hyperlinks.
New "Endpoint and queries" configuration element to avoid
very long queries in the retrieval of suggestions.
April 2021
New ontology configuration for using materialized
transitive closures when computing hierarchies. The
Sparklis-specific property lis-owl:transitiveOf
must be used to relate property P1 to
property P2, where P1 holds the materialized
transitive closure of P2.
February 2021
Link to the Github repo in the Learn menu. Github
is the new place where to report issues.
Download of the table of results as a CSV file. There are
options to control whether URIs or labels are output, and the
maximum number of results to download.
The navigation history is recorded in the browser storage
for each visited SPARQL endpoint. It is accessible by clicling
button History in the navigation toolbar at the top,
and from there, previous queries can be opened. It is possible
to clear the history for the current endpoint.
November 2020
When the focus is on RDF lists, a
pseudo-property rdf:item is suggested to reach
all the list elements. It is an alias for the property
path rdf:rest*/rdf:first.
Release of source code under Apache 2.0 licence, and
client web files under CC-BY-NC license. The source code is
available
on GitHub
with instructions for use and reuse.
March 2020
New menu Issues and command to create and post an
issue. Use it to report any bug or problem you encounter when
using Sparklis. You can also use it to express feature
needs.
Three new filtering operators: "is exactly", "starts
with", "ends with". They allow more precise filtering on
strings, concepts, and entities.
Highlight (in yellow) of all UI elements that can be
selected to move the query focus or modify the query.
Buttons on top of suggestion lists as another way for
triggering the multi-selection mode. The number of selected
items, and applicable operators are shown in a yellow
span.
When filtering suggestions results in an empty list, the
elements that match the filtering condition but not the query
(i.e. they would lead to empty results) are shown striked
through and cannot be selected.
November 2019
New configuration option (in Advanced features) to choose
whether pressing ENTER in filtering inputs should insert the
filtering condition in the query (default) or trigger the
filtering of suggestions (instead of input changes by
default).
Nested tables as a new result view, and the new default
one. It presents results in a more structured and legible way,
reflecting the dependencies between the result columns
(i.e. between the related entities in the query).
April 2019
Several improvements for the Wikidata endpoint that make
it much practical to explore. In particular, use of Wikidata
search API for efficient entity filtering. See the 10 queries
added to the example page.
Invalid filter inputs on top of suggestion lists are shown
in red.
January 2019
New button / below lists of suggestions
(concepts and terms) to turn hierarchies upside-down. This
replaces the former suggestion (inverse hierarchy)
in.
New configuration option in the Ontology panel to
restrict suggested classes and properties to those that belong
to the specified meta-classes (to be defined by the
dataset). This allows to define different user profiles,
e.g. basic vs advanced profiles.
Syntactic modifier suggestions, i.e. those that are
neither aggregators nor functions, are now accessible at the
end of the query focus as a dropdown menu triggered by
. This
notably includes coordinations (and, or), modalities (not,
optionally), and solution modifiers (highest-to-lowest,
any).
Next to column headers, Sparklis now displays the number
of unique values for that column. If the computed query
results are partial, then a plus sign is shown, and the number
can be clicked in order to display the exact and complete
number of unique values.
October 2018
More results can be retrieved beyond the maximum number of
results, simply by continuing to click on the 'next page' icon
of the table of results.
The browser URL now always reflect the current navigation
state (endpoint, configuration, query, and focus). It is
therefore possible to use the bookmarks facilities of the
browser to record and retrieve Sparklis queries. The
'permalink' button simply returns a shorten version of that
URL.
September 2018
In the Language and labels configuration panel
several properties and several language tags can be given in
each field, in preference order. Separate them with commas,
and use the empty string for labels with no language tag.
August 2018
New configuration option to distinguish two limits: for
the number of query results, and for the number of results to
use as a sample for computing the class and property
suggestions. This allows to increase the number of displayed
results without increasing the response time for class and
property suggestions.
Support for date-time and duration arithmetics
(subtracting two dates, adding a duration to a date,
etc.). BEWARE: not supported by all triplestores (Jena/fuseki
does support it).
New switches at the bottom of suggestion lists to choose
their ordering between decreasing frequency ordering (default)
and logical/lexicographic ordering.
The property schema:logo can be used to add a
small icon to the labelling of entities, classes and
properties. Activate this feature in the Presentation
configuration panel, and set the icon height.
The property schema:position can be used to
control the ordering of entities, classes, and properties in
suggestion lists. Activate this feature in
the Presentation configuration panel.
The query focus is now recorded in permalinks.
New configuration option to generate or not short URLs for permalinks.
July 2018
Dutch version of the interface (by Erwin Folmer, Kadaster NL).
May 2018
Support for Wikidata statements and qualifiers, based on the support for n-ary relationships. Look for Wikidata in the list of endpoints, and the configuration option in Ontology.
Support for n-ary relationships (e.g., in the Mondial dataset, countries have languages at some percentage), if the related Ontology option is activated. The relevant suggestions are displayed in the left column along with classes and properties, and are colored in cyan. The support assumes the reification of n-ary relationships by statements or events. Two Sparklis-specific schema properties can be used to let Sparklis know about n-ary relationships in a dataset: nary:subjectObject and nary:eventObject where the prefix nary: stands for the namespace http://www.irisa.fr/LIS/ferre/vocab/nary#. The former is used to relate the event-to-subject property to the event-to-object property; and the latter is used to relate the subject-to-event property to the event-to-object property. For example, in the Mondial dataset, we have added the triple mondial:ofCountry nary:subjectObject mondial:onLanguage. Qualifier properties, i.e. other properties that apply to the event, are detected automatically by Sparklis and suggested as prepositional phrases.
March 2018
The Sparklis-specific property rdfs:inheritsThrough enables to declare that the values of some property P are hierarchically organized by a property H. Each time property P is inserted into the query, a (hierarchy) in construct is automatically inserted based on property H. It has a similar effect to type inheritance through the class hierarchy. In fact, triple (rdf:type, rdfs:inheritsThrough, rdfs:subClassOf) has the same effect as RDFS type inheritance. Examples of use are triples (ex:livesIn, rdfs:inheritsThrough, ex:subPlaceOf) (geographical locations), and (ex:hasTopic, rdfs:inheritsThrough, skos:broader) (topics).
Support for hierarchies of entities (e.g. taxonomies, locations, historical periods, genealogies). The modifiers (hierarchy) in and (inverse hierarchy) in allow to use the last selected property as a hierarchical relationship in order to display the values of that property as a tree. The latter modifier displays the tree upside-down. When a value is selected, it is equivalent to select all values under (above if inverse hierarchy) the selected value in the tree.
February 2018
Full-text search based on Jena's text:query or Virtuoso's bif:contains. See option in Language and labels configuration panel. Of course, this assumes appropriate text indices have been built on the endpoint (see instructions of the target triplestore).
Multiple selection of suggestions is now available. Use Ctrl+Click to define the multiple selection, then click one of the suggested buttons at the top of a suggestion list to choose a coordination of the selected suggestions (... and ... or ... or ...).
January 2018
New result view: slideshow of images and videos appearing in the table of results. The contents of the corresponding table line is displayed under the image to provide context for the image/video.
November 2017
Buttons ▼/► at the bottom of suggestion lists to expand/collapse all concepts/entities.
September 2017
New user interface based on Bootstrap for a more modern look-and-feel, and a responsive design.
May 2017
Generation of short URLs for permalinks, based on bit.ly.
April 2017
Support for named graphs. Two new options allow to specify a named graph as the default, and the named graph that contains the dataset schema. For a more fine-grained control, new constructs according to ... and according to which there is ... can be inserted into the query (the counterpart of the GRAPH construct of SPARQL).
January 2017
New result view: map showing the geolocation of entities in the table of results. This requires the insertion of pseudo-property has geolocation on the entities to be displayed on the map. That pseudo-property is suggested when well-known properties are defined for both latitude and longitude (vocabularies: wgs84, vcard, schema.org).
October 2016
Classes and properties can now be organized into hierarchies (assumes materialized inference in the dataset). Check options on the Ontology configuration panel.
New modifier to duplicate the subquery under focus.
New modifier a choice between ... in expressions to allow for non-deterministic expressions (i.e. expressions that have several possible values). This was found useful to define custom aggregation dimensions.
New option to filter out the suggestions whose URI matches some regexp.
August 2016
Spanish version of the interface (by José Enrique Ortiz Vivar).
April 2016
Integration of YASGUI as an editable view of the SPARQL translation of the Sparklis query.
March 2016
New option to send GET requests instead of POST requests. The latter is to be prefered (and the default) because it better supports long queries.
New option to send credentials in HTTP requests. Required for endpoints with access control.
Implicit conversions on RDF literals in computations for better robustness w.r.t. poorly datatyped datasets.
December 2015
Support for SPARQL computations: expressions, aggregations, GROUP BY, BIND. This appears in Sparklis as a lot of new modifiers for inserting functions, operators, aggregators, and for choosing grouping criteria. Literal values can be input in the list of suggested entities, with input fields according to the expected datatypes. Complex combinations and compositions of the SPARQL computations features are covered. See the Examples page.
December 2014
New option to specify a SPARQL endpoint to be used as a proxy to query a target SPARQL endpoint that is not CORS-enabled. A default endpoint at IRISA is provided.
French version of the interface.
November 2014
Configuration options put into permalinks.
Options in the Language and labels configuration panel to choose a property and language tag for the labels of classes, properties, and entities.
October 2014
Option to deactivate the collection of usage statistics.
Options to configure the maximum number of computed results, and the maximum number of suggested classes and properties.
Configuration panel to adapt to the endpoint, and customize the presentation of contents.
August 2014
Drop-down list of SPARQL endpoints.
Improved verbalization from URIs (uncamelizing, replacing underscores by spaces, etc).
July 2014
Support for blank nodes, avoiding to inject them into SPARQL queries.
May 2014
Pretty-printing of generated SPARQL queries: indentation, mnemonic variables, automated definition of namespace prefixes.
Small icons to open URIs (in query, suggestions, and results) in another browser tab.
Column headers in results are verbalized and can be clicked to change focus.
Co-references in suggestions and queries. Enables to build graph patterns with cycles.
New construct has relation from/to... to allow for crossing any property, and for moving the focus on the predicate position of a triple.
April 2014
Full-text search at initial step by using bif:contains (available in Virtuoso).
Coordinations of noun phrases (and, or, not, optionally), as a way to factorize queries and make them more natural and concise.
January 2014
In filters, different comparators for numbers and strings (including dates/times).
New filters for matching the language tag and the datatype.
Introduction of filters on suggestion lists, based on string matching and comparators.
Support for simple aggregations: one or several columns can be aggregated, grouping by the other columns. A column can be ignored in the results with the modifier any.
New constructs highest-to-lowest, lowest-to-highest can be applied to an entity in the query to sort its values in the table of results.
December 2013
Support for UNION, OPTIONAL, NOT EXISTS with the coordination of verb phrases (and, or, not, optional).
Support for ASK queries.
The SPARQL endpoint is shown, and can be changed dynamically.
Navigation history, and associated controls: back, forward, home.
Addition of tooltips for contextual help.
The focus can be moved by clicking different parts of the query, and its content can be removed from the query.
Display of media contents in the table of results.
Dynamic filtering of suggestion lists by keyword inputs.
Computation of suggestions right from the endpoint.
First version allowing to build simple queries, evaluate them at DBpedia, and display a table of results.