Skip to content

Latest commit

 

History

History
executable file
·
18 lines (14 loc) · 1.41 KB

2016-06-21-sections-3-core.markdown

File metadata and controls

executable file
·
18 lines (14 loc) · 1.41 KB
section-id layout img category title short-title description
core
default
core.png
Services
Core
Core

The core module implements the domain and provides means for alteration. The package structure is depicted below.

Package domain.model is the bounded context and contains the codified domain model. SPA as the sole application service is contained in the application package. Further, a SpaBuilder is available which implements a DSL for configuring SPA instances. For example, SpaBuilder.local().memory().shared() creates an instance of the SPA which stores its data in a runtime shared memory location. SPA itself provides CRUD functionalities for the domain.

Package io contains the Importer and Exporter interfaces for importing data from and to Jena's Model inteface and, thus, RDF. Further, classes ImporterSupport and ExporterSupport are containers responsible for managing groups of Importers and Exporters. All file-based implementations are stored in subpackage file.

Package persistence contains all implementations responsible for mapping Java instances to RDF and vice-versa. All Repository implementations rely on the Transformation class which implements a DSL for RDF <-> Java transformations.

A leaky abstraction over Jena is the content of the storage package. When a Store supports transactions, each connection is automatically run in a transaction conext.