Skip to content
This repository has been archived by the owner. It is now read-only.

4. Domains

LaraHack edited this page Mar 18, 2016 · 15 revisions

Accurator has the ability to run annotation campaigns concerning different domains on a single server. Examples are a bird domain, were people identify bird species on images and a bible domain, were people identify biblical characters and themes. Accurator is setup to easily create new domains by adding a folder with an RDF config file in cpack/accurator/rdf/domain/[domain_name]. In the case of the bible domain, the folder will be cpack/accurator/rdf/domain/bible.

Domain config file

A new config file has to include the following data:

  • rdfs:label - name of the domain
  • dcterms:requires - the main taxonomy the domain relies on for recommendation
  • accu:hasTarget - the RDF type used to identify annotation targets (as generated in collection data)
  • skos:hasTopConcept - the concept from which the taxonomic structure is descended to get expertise topics
  • accu:hasUI - links a domain to a user interface specification
  • accu:hasAnnotationUI - links a domain to an annotation interface specification
  • accu:hasDescriptiveImage - image that illustrates the domain
  • accu:hasMaximumExpertiseTopics - the maximum number of expertise topics shown to a user
  • accu:hasMaximumChildren - the number of child concepts shown in expertise screen

The bible and bird domain definitions included in the repository can serve as examples while creating a new domain.

Loading a domain

To load a new domain it has to be included in the void.ttl file located in cpack/accurator/rdf/. To do this, create a new domain dataset definition that includes the newly created domain/[domain_name]/[domain_name]_domain.ttl file with the fields mentioned above. For the bible domain, the dataset definition will be in cpack/accurator/rdf/domain/bible/bible_domain.ttl. Below an example of a bible domain definition in the void.ttl file is shown:

	a void:Dataset ;
	dcterms:title "Accurator configuration for bible domain" ;
	void:dataDump <domain/bible/bible_domain.ttl> ,
				  <domain/bible/concept_scheme_bible_figure.ttl> ,
				  <domain/bible/concept_scheme_bible_theme.ttl> ;
	void:subset <accurator-ui-bible> .

	a void:Dataset ;
	dcterms:title "Accurator UI instance for bible" ;
	void:dataDump <domain/bible/ui/labels.ttl> ,
				  <domain/bible/ui/labels_nl.ttl> ,
				  <domain/bible/ui/fields.ttl> .

In the code snippet above, the creation of the concept schemes (bible figures and themes) is explained in taxonomies, while more explanations regarding the subsets used for loading the fields that are used for a particular domain can be found in interface adaptation and the labels in locale.

Loading the actual domain is done by adding a line in config-available/

:- rdf_load_library('accurator-[domain_name]-domain').

In the same file, to exclude a certain domain, you can delete or comment the line that loads it. Below we excluded the bible domain from loading by using comments.

%:- rdf_load_library('accurator-bible-domain').

In the next page we will explain how to adapt the interface to a specified domain.