This is a proposed architecture for SPQR:

SPQR architecture

Presentation layer

Human and machine interfaces:

  • REST – run queries across the linked data including full-text searches.
  • SPARQL endpoint proxy – run SPARQL queries across the linked data.
  • Search/navigate UI – forms-based UI for users to search and explore.
  • Annotation/linking UI – forms-based UI for users to annotate and link data.

Service layer

Services underlying the presentation layer:

  • SOLR Search Server. Based on Lucene. This allows a URI to be dereferenced, its resource description parsed and its text indexed. This allows for a full-text search to return RDF nodes.
  • Search Service. This allows exploration of the data and running of full-text searches.
  • Annotation/linking service. This supports adding links to new data sets or proposing additional links within the ones hosted on the server. Options include Danno/Dannotate.
  • Ontology/Schema Matching. This does schema and data matching to make proposals as to what data might be equivalent e.g. where two entities in different schemas refer to the same place or person.
  • Query/inference. This runs queries or infers new links based on an ontology and current links.

Data layer

3 Store – triple store. Will be populated using:

  • RDF import.
  • XSL transforms from TEI/EPIDOC XML.
  • Web scraping of HTML or REST UI query results.

Options include Jena or Sesame.