Semantic MediaWiki and related extensions
|
Released August 4th, 2014.
Semantic MediaWiki 2.0 is compatible with MediaWiki 1.19 up to MediaWiki 1.23, and possibly later versions. Support for both MediaWiki 1.23 and MediaWiki 1.24 was improved compared to SMW 1.9.
PHP compatibility remains the same as in SMW 1.9: all versions from PHP 5.3.2 to PHP 5.6.x.
For a full overview, see our https://github.com/SemanticMediaWiki/SemanticMediaWiki/blob/master/docs/COMPATIBILITY.md "compatibility matrix".
A great deal of effort has been put into ensuring both existing and new features work well. Not just at present, but also in future releases. And not just with MySQL and one version of MediaWiki, but on all platforms we support. This dedication to quality has resulted in many bugs being discovered and fixed, and makes future regressions much less likely.
Continuous integration is now an integral part of the development process behind SMW. As of the 2.0 release, SMW has over 2300 automated tests, which cover two thirds of the codebase. These tests are run automatically for every change made to the code, on machines with different databases, different versions of PHP, different SPARQL stores and different versions of MediaWiki.
As of the 2.0 release, Semantic MediaWiki adheres to the Semantic Versioning standard. This makes our version numbers more meaningful and makes it easier for administrators to determine if a new release is relevant to them.
Semantic MediaWiki 1.6 introduced support for data synchronization with RDF back-ends. SMW 2.0 makes this functionality a first class citizen through many enhancements and stability improvements.
The smwgSparqlDatabase
setting introduced in 1.6 has been deprecated in favour of $smwgSparqlDatabaseConnector
(#342) to avoid arbitrary class assignments in $smwgSparqlDatabase
(now only used to assign custom connectors).
Unit and integration tests were given extra focus together with a continuous integration of Jena Fuseki (1.0.2) (#337) and Virtuoso opensource 6.1 (#394) to ensure that compatibility and functional parity are going hand in hand with the rest of SMW. (Unfortunately 4Store
currently does not run on the continuous integration platform, for details see garlik#110 but tests have been run successfully with a local 4store
instance).
At this moment, the only RDF store to be tested and to support SPARQL 1.1 is Jena Fuseki
therefore other stores may not support all query features
. For details to the testing environment and its configuration, see the https://github.com/SemanticMediaWiki/SemanticMediaWiki/blob/master/src/SPARQLStore/README.md "README" file.
Support for subobjects has been added to the RDF export. This new capability is used by the RDF store functionality to also synchronize subobjects. (#344)
Subobjects now support sorting via the @sortkey
annotation that stores an individual sortkey per subobject. (#225)
DataTypeRegistry::getDefaultDataItemTypeId
Special:WantedProperties
for unknown predefined propertiesDataRebuilder
for duplicate title objectsCategoryResultPrinter
for when a mainlabel is hiddendumpRDF.php
while deprecating the use of SMW_dumpRDF.php
(bug 35679)SMW_setup.php
in favour of setupStore.php
ContentParser
to mitigate issues caused by the 62856 bug in MW 1.24+RefreshLinksJob
in MW 1.23+SPARQLStore
ResultParser
for an invalid datatype (bug 62218)SMWExporter::findDataItemForExpElement
to enable SPARQLStore
result displaySPARQLStore
namespace query support (e.g [[:+]]
)SPARQLStore
usage for rebuildConceptCache.php
and rebuildPropertyStatistics.php
SPARQLStore
subobject sub query and pre-defined property query supportSMW 2.0 continues to convert its classes to use PHP namespaces in order to separate responsibilities (#398, #404, #407, #409, #410, #411, #412, #416, #417, #418, #419, #421) and to be able to support PSR-4 in future.
job
related classes of been moved to SMW\MediaWiki\Jobs
hook
related classes of been moved to SMW\MediaWiki\Hooks
api
related classes of been moved to SMW\MediaWiki\Api
SPARQLStore
related classes now reside in SMW\SPARQLStore
SMWSparqlStore
and SMWSparqlDatabase
where moved into the SMW\SPARQLStore
namespaceOther internal enhancements or changes include:
PropertyStatisticsTable
interfaceremoveDuplicates
option to UpdateJob
QueryPrinterRegistryTestCase
MediaWikiTestCase
dependencySql3StubSemanticData
to load suobjects on request and introduced a __sob
datatype for subobjectsformat=count
information in QueryResult
Deprecated classes or scripts:
SMW_conceptCache.php
SMW_dumpRDF.php
SMW_refreshData.php
SMW_setup.php
SMWSparqlStore
SMWSparqlDatabase
SMWIResultPrinter
Removed classes or scripts:
SMWParseData