Help:Architecture guide

This page explains the software architecture of Semantic MediaWiki on a high level. It is intended to help developers to get started with SMW development by understanding the main concepts. Another important goal of this page is to clarify the architectural choices that are underlying the PHP implementation.

Datamodel
Datamodel contains the most essential architectural choice of Semantic MediaWiki for the management of its data including:
 * DataItem represents the system perspective on the data to interact with a database
 * SemanticData represent semantic information, a collection of DataItem objects need to be combined into facts
 * DataValue represents the user perspective on data which includes input and output specific rules together with Datatypes

Database schema
Database schema contains some information about the database schema and available tables used by the SQLStore.

API modules
API modules

Hooks
Hooks

Storage and query engine

 * SQL (see SQLStore)
 * Elasticsearch (see ElasticStore)
 * SPARQL (see SPARQLStore)