1 Introduction

As part of the Linked Data ecosystem, both linked data browsers as well as editors are needed. The Semantic Web Wiki alone lists 45 distinct entries in its browser subcategoriesFootnote 1, and 35 tools in its editor categoryFootnote 2. Among such a large number of tools, it would seem hard for a new tool to distinguish itself. However, after surveying the competition it was deduced that the SPARQL SAHA linked data editor and browser presented in this paper still has a particular combination of features that contributes to others’ work. The tool is available online.Footnote 3

First, SPARQL SAHA operates as a service Footnote 4, being able to be pointed against any SPARQL-compliant endpoint for both querying and updating. Further, the usability of the tool has been verified by dozens of non-experts using the tool in multiple multi-year projects. Finally, the tool is also fully multilingual.

Originally, SAHA was a dedicated application with its own storage [1]. The tool was created as a generic web-based RDF metadata editor that would (1) be easily adaptable to various schemas, (2) support multiple simultaneous users, and (3) be understandable and usable by laymen. It was only later as part of a general push toward more modular applications [2] that the tool was modified to work on top of a standard SPARQL endpoint, a major topic of this paper. In doing so, it was discovered that this also increased the usability and adaptability of the tool, as now there was an additional, configurable layer of SPARQL queries mapping the raw data into its various presentation forms.

To evaluate the usability of SAHA, it has been used in a number of projects [35] by non-experts in RDF or Linked Data. The longest term and broadest of these is the BookSampo project [5], where dozens of volunteer librarians from Finnish public libraries have been indexing Finnish fiction literature using the editor since 2008. The user interface highlights presented here come mostly from the experiences gained in that project.

2 The User Interface of the SAHA Metadata Editor

Functionally, the main user interface of SAHA is divided into four distinct views. The first of these is the index view, which shows an overview of the class hierarchy used in the project along with corresponding instance counts. Clicking on any of the classes brings up the second instance view, which shows instances of the class under question. Together, these two views allow indexers and browsers to get an overview of the contents of the dataset.

In the BookSampo project, the instance view has also been used as simple work lists, with librarians dividing work for example alphabetically inside the instance list. This sort of ad-hoc collaboration is supported in the editor environment by a project-wide chat functionality, visible on all pages on the top right of the interface. Problems arising from multiple persons editing a resource at the same time are averted by a locking mechanism.

For quick navigation to resources of interest, all views in SAHA include a common keyword search functionality in the top part of the user interface. Typically, this search is configured to target all properties of all resources, so that for example indexers can quickly search for “author Waltari” to find books authored by Mika Waltari instead of the person record itself.

Selecting an instance moves the UI into the third view, the browsing view, where properties of the selected resource are visualized, along with a list showing any other resources referring to it. Clicking on any of the resources listed loads the view with that resource, enabling associative browsing of the dataset.

However, to better support contextualization and quick browsing, in all interface components, all resources also show their direct properties in a pop-up preview when the mouse is moved over them. Feedback from library indexers has shown this to be an extremely important functionality for them.

Fig. 1.
figure 1

The SAHA metadata editor, showing both semantic autocompletion as well as a pop-up preview presentation of one of the autocompletion results.

From the browsing view, the user can finally enter the editing view, which mirrors the browsing view with editable components, as show in Fig. 1. The user is here editing metadata about Mika Waltari’s historical novel Sinuhe the Egyptian. The view shows both all properties that the resource has, as well as all properties associated with classes the resource is an instance of.

For object references, SAHA utilizes semantic autocompletion [6]. When the user tries to find a concept, SAHA uses at the same time web services to fetch concepts from configured external repositories, as well as the local project. Results are shown in one autocompletion result list regardless of origin, and their properties can also be inspected using the pop-up preview presentations. In the situation depicted in Fig. 1, for example, this is extremely useful when the user must choose which of the many Luxors returned from both local and external RDF sources is the correct annotation for this book. The preview of places also includes a map visualization, but this is cut off in the figure. For geodata, SAHA also supports the editing of points, polylines, and polygons on maps.

For the purposes of the BookSampo project, the SAHA editor was improved with an inline editor feature. The idea is simple: a resource referenced through an object property can be edited inline in a small version of the editor inside the existing view. Specifically, this functionality was developed to ease the use of the auxiliary resources required in the RDF data model to group information together, such as when associating an issue number with information that a book has been published in a particular literature series. However, there seemed to be no reason to restrict the functionality, so this possibility is now available for all linked object resources. In Fig. 1, this is shown for the property “time of events” whose value “ancient times” has been opened inline for editing.

3 Flexibility from Configurability and Using SPARQL

To be easily usable for a variety of projects, the SAHA editor provides a configuration interface with sensible defaults, with the configuration options also serializable as RDF and thus transferable along with the project data and schema.

For each property and class combination, the order in which the properties are displayed can be configured by simply dragging and dropping the fields. In addition, each object property can also be linked to external repositories from which to draw references from, while literal properties can be shown either with language-tagging support or without.

The move to using configurable SPARQL queries to populate all views considerably increased the flexibility of the editor. For example in the BookSampo project, certain metaclasses that caused confusion could be hidden from the class hierarchy. Also, while most projects wanted to group the list of resources referring to an object by the referring property, in BookSampo the librarians were so used to a pure alphabetical list that they wanted the functionality reverted.

The configurability of the SPARQL queries also came into use in tuning the scalability of the system when suddenly the BookSampo dataset grew to 1.5 times its former size as the project also started to cover children’s literature. Here, response times on the now 6.6 million triple dataset decreased threefold by tuning the generic default queries to the exact data model semantics of the dataset. In the end, this resulted in performance faster than the original dedicated SAHA.

In the BookSampo project, operating on top of a SPARQL endpoint also allowed the creation of custom reports, basically SPARQL queries whose results are linked to the SAHA editor. For example, queries have been crafted to list multiple books having the same name and author as candidates for merging, as well as to list orphaned resources no longer referenced from any primary item.

4 SAHA as a Linked Data Browser

In addition to its use as an editor, SAHA can also be used as a simple linked data browser and publishing platform. That is, the resource view of SAHA supports content negotiation and is able to present either an RDF view or the human-oriented browser view in response. In this mode, the tool has been used to publish for example a World War I -related data collection [3]. Further, the tool was chosen as the linked data browser to be used for the national Linked Data Finland LDF.fi portalFootnote 5, after experimenting with multiple other choices such as URIBurnerFootnote 6 and PubbyFootnote 7. Here, the primary reasons for selecting the tool were: (1) the pop-up preview functionality of the tool provided a better user experience than was available from competitors, (2) by configuring the SPARQL queries, the tool could be adapted to the sometimes quirky data modeling conventions used by some of the datasets to be published and (3) the tool supported linked data browsing of material also in cases where the IRIs did not match their publication location, also an unfortunate case in some of the datasets.

5 Related Work

As stated earlier, there are both many other editors as well as browsers for linked data. Based on the survey conducted for this work, of the editors the closest to SAHA would be SKOSjsFootnote 8, which also works as a web application on top of SPARQL endpoints, and features multilanguage support. However, where SAHA is directed mostly at indexing instances, SKOSjs is geared towards managing a SKOS vocabulary hierarchy. Thus, the two tools actually complement each other.

Of browsers, the closest matches seemed to be PubbyFootnote 9 and Graphity [7], which can both operate on top of a SPARQL endpoint to publish data, and where Graphity also had ways by which to configure the presentation of that data. For both tools however the SPARQL endpoint is fixed in configuration, thus disallowing using the tool as a service.