Semantic MediaWiki with Property Clusters
Semantic MediaWiki with Property Clusters
Semantic MediaWiki with Personal Classes
Dr. Gero Scholz, February 2008
The paper presents an enhancement of Semantic MediaWiki. While SMW currently has an atomic view on properties we define clusters of properties which eventually resemble well known concepts of object orientation. Using SMW properties we define a meta model which supports classes, relations and inheritance. As a proof of concept we provide an implementation which is based on a set of templates and a few existing MediaWiki extensions. The application model is described by special meta properties; a graphical visualisation is provided automatically. We describe various approaches for editing, varying from classical inline annotation over intensive use of templates up to an integration with the screen forms of 'Semantic Forms'. The article describes a set of improvements and API functions which could become integral part of SMW in a future release. A demo website (http://semeb.com/dpldemo/SMWpc) is available.
Semantic MediaWiki, Semantic Forms, Class, Relation, Inheritance, Meta Model, Proof of Concept, Demo Implementation
Wiki Technology is rapidly evolving. While there is still a primary focus on easy editing of shared articles with free text, free links and a flexible scheme of categories there are several efforts to add structural support for advanced concepts of knowledge management. Semantic MediaWiki (SMW) is a MediaWiki extension which provides basic concepts for semantic annotation of MediaWiki articles. SMW uses 'typed properties' which can be attached to wiki pages. It also offers semantic browsing aids and a query engine. While this is certainly an important step towards knowledge representation there are still significant deficits.
Currently in SMW every possible combination of properties can be assigned to every article. It is possible to assign multiple values for the same property to the same article. The difference between 'relations' and 'values' which was part of the SMW concept in older versions has been dropped in favor of more generalized 'properties' in the latest SMW release. All this leads to a fairly universal, generic concept. In short, SMW offers a concept of "weak typing" expressed by arbitrary bundles of properties taken from an 'ocean' of all possible attributes which might be useful for annotation.
Practical experience shows that people do not primarily perceive objects as conglomerates of attributes. Instead they classify objects and use well defined names for these classifications. Classes in essence are named clusters of properties. In this article we show how a concept of 'strong typing' can be built on top of SMW. We call that concept Semantic MediaWiki with property clustering (SMWpc). One might also call it 'Semantic MediaWiki with personal classes'. This interpretation would emphasize the fact that the process of defining classes depends on the personal perspective of the author and the purpose he has in mind. For instance, a bicycle and a football would probably in many cases belong to different classes but for a sports shop they might both be classified as 'sellable goods'.
'SMWpc' is a proof of concept which is already usable for small wikis. It is based on SMW, a few other MediaWiki extensions and some tricky MW templates. To improve performance and robustness a more professional implementation should be made by extending the current php source code of SMW. Such an implementation could also offer enhanced navigation and querying based on the concept of classes, relations and inheritance.
- continue reading with Fundamental Concepts ..
- continue reading with Classes, Properties and Model ..
- continue reading with Writing Articles with SMWpc ..
... or have a look at an example.
'SMWpc' shows that powerful concepts can be built on top of the SMW platform. We hope that the idea of SMWpc will be adopted by the Semantic MediaWiki community. Integration of SMWpc concepts into SMW would certainly help as this could lead to a more robust solution with better performance. Adding SMWpc concepts to SMW would enlarge the scope of SMW significantly. Because it would be a pure add-on, no current functionality would be lost. Changing some details (e.g. introducing naming conventions for meta properties) would make it necessary to offer migration scripts and (maybe) a downward compatibility switch.
SMWpc is a first step in the direction of true object oriented semantic modeling. There are lots of features which can be improved and added in future.
A detailed description of the API and a list of all templates, forms, categories, types, classes, properties and sample articles can be found in a separate document.