Release Notes

  • May 2021
    • 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.

Creative Commons Licence Created by Sébastien Ferré SemLIS team IRISA Université Rennes 1

Visit my homepage for more information.