Difference between revisions of "Wikispooks:Semantic Mediawiki"

From Wikispooks
Jump to navigation Jump to search
(Expand about best practice use of SMW data so far)
m (Text replacement - "WikiSpooks" to "Wikispooks")
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{HelpSection|image=SMW.png}}
 
{{HelpSection|image=SMW.png}}
'''Semantic Mediawiki''' (SMW) is an extension for the basic [[Mediawiki]] software that powers the Wikispooks site. Its purpose is to provide semantic definition and querying capabilities which are lacking in the basic software. This offers two main benefits to the site - (i) a richer set of ways to organise and use the information, (ii) the possibility to define {{WSLink|site feeds}} to export the data in a predictable format, which others can build.
+
'''Semantic Mediawiki''' (SMW) extends the basic Mediawiki software by providing semantic definition and querying capabilities. This offers two main benefits to the site - (i) a richer set of ways to organise and use the information, (ii) the possibility to define {{WSLink|site feeds}} to export the data in a predictable format, for others to build upon.
  
==SMW on Wikispooks==
+
==Using the SMW Extension==
SMW is installed on Wikispooks together with a bunch of associated extensions (Semantic Bundle). Towards the end of 2013, Wikispooks has been expanding its use of SMW - most notably through Semantic Forms extension. Policy and practices in this area are currently fluid a Wikispooks editors are gradually learning how to get the best out of the software, and simultaneously developing a framework for its use on the site. Some best practices are emerging:
+
[[image:Extension.png|link=http://www.mediawiki.org/wiki/Extension:Semantic_MediaWiki|left|40px|alt=SMW download page]]
 +
Thankfully, using the SMW extension (like using Mediawiki) does ''not'' require understanding how it works. Behind the scenes, SMW is doing a lot of work organising and cross-referencing pages, but all you really need to know as an editor is the magic word '''{{t|<nowiki>{{SMWDocs}}</nowiki>}}''', which should be placed just above the "references" section. This calls [[Template:SMWDocs]], which searches the site and automatically prepares  a set of tables of any relevant documents and pages.
  
===No loose markup===
+
==Understanding SMW==
Wikispooks is following the SMW recommendation of strongly discouraging loose pieces inline markup. For reasons of future-proofing and maintenance, ''SMW properties should be assigned through templates''. See [[:Category:Semantic Templates|Semantic Templates]] for suitable templates. The main semantic template to use for replacing inline semantic data is [[Template:SMWData]].
+
Semantic Mediawiki may seem to present quite a steep learning curve for non-computer scientists, as the idea of 'semantic data' may not be intuitive. [[User:Robin|Robin]] has volunteered to try to answer any and all SMW queries and to give to beginners help where needed. If you want to get to grips with the syntax, there is a lot of help online about this, and a useful guide to the syntax - which also gives an idea of the range of SMW - is the quick reference guide, available [http://postable.net/smwqr/smw-quick-reference.pdf here]. Note that you don't actually need to understand any syntax to get started - if you can fill in a form, then you can fill in semantic data!
  
===Presenting SMW Data===
+
==Use on Wikispooks==
SMW querying is the recommended way to present large data tables inline in pages, since this is easier in terms of reuse. The main semantic template for displaying semantic data is [[Template:SMWDocs]], which is a kind of 'catch all' for relevant data. When inserted in a page manually, it should usually be used just before the "References" section.
+
Since November 2013, Wikispooks has made use of SMW and associated extensions (Semantic Bundle). The approach is to:
 +
#Define a core set of [[SMWObject|semantic ''objects'']] for structuring the data, with their own sets of properties and interrelationships
 +
#Creating a set of [[:Category:Semantic Templates|semantic ''templates'']] to present these objects and their interrelationships
 +
#Creating a set of [[:Category:Semantic_Forms|semantic ''forms'']] to present these objects and their interrelationships
 +
#Processing the existing content to fit it into these structures
 +
#Allowing for seamless creation of these structures on new pages by non-SMW aware users (i.e. through semantic forms)
  
===Timelines===
+
===Semantic Objects===
{{FA|WikiSpooks:Timelines}}
+
{{FA|Wikispooks:Semantic Objects}}
Experiments with timelines, notably the [[JFK Assassination Timeline]] have made further use of SMW. Timelines are a semantic results format which must have at least one date property defined in order to correctly displayed events. The JFK timeline currently uses 3 semantic property definitions (Start, End and Description), 'Start' and 'End' are of property type '[[Special:Types/Date|Date]]' and 'Description is of property type '[[Special:Types/Text|Text]]'.
+
Wikispooks has been using a core set of semantic objects for about 4 years with only very minor changes, so they can be considered stable. By structuring the Wikispooks data, they facilitate interoperation with other projects, as well as coming with a set of forms, templates and properties to interrelate them.
  
The properties currently used by the timelines experiments may need to be changed to accord with standard but evolving semantic properties syntax and grammar.
+
===Semantic Properties===
 +
{{FA|Wikispooks:Semantic Properties}}
 +
A ''property'' is the basic type of semantic data. Wikispooks currently has [[:Category:Properties|{{#expr: {{PAGESINCAT:Special Properties}}+{{PAGESINCAT:Stable Properties}}+{{PAGESINCAT:Experimental Properties}}}} properties]] in use, each of which is documented using [[Template:Property]].
  
==Properties==
+
===Semantic Templates===
 +
{{FA|Wikispooks:Semantic Templates}}
 +
If you can code ordinary [[Help:Templates|Templates]], then you should find it no trouble to code Semantic Templates. All the structure and syntax from ordinary Mediawiki applies, as does the [[Wikispooks:Templates|template standardisation policy]]. In addition there are a couple of parser functions to provide access to the semantic properties.
  
[[:Category:Properties|All properties used on Wikispooks]] have their own page, marked up with [[Template:Property]]. Properties are assigned to one of 4 categories:
+
===Semantic Forms===
{|
+
{{FA|Wikispooks:Semantic Forms}}
|{{cat|Special Properties}}
+
A ''form'' is just what it sounds like - a set of boxes and checkboxes to be filled in. The 'semantic' aspect is that each of these fields is tied to particular parameters in a template. Wikispooks currently has only a few semantic forms in use, because the first priority is defining the objects and templates.
|For properties which are built-in to Semantic Media Wiki
 
|-
 
|{{cat|Stable Properties}}
 
|For properties which are working as planned and will be permanent features of this wiki
 
|-
 
|{{cat|Experimental Properties}}&nbsp;
 
|For properties which are operational but not necessarily working properly or at all
 
|-
 
|{{cat|Mooted Properties}}
 
|For properties which are not yet used, on which you are seeking feedback before implementation
 
|}
 
  
===New Properties===
+
===Best Practice===
''Be careful when creating new properties''. Properties are easy to make, annoying to remove, so before defining a new property you should first mooting the idea by making a using [[template:property]] to make a property page explaining the idea. Then await feedback from others. See [[Special:Properties]] for an illustration of what can happen.
+
{{FA|Wikispooks:SMW Best Practice}}
 
+
Policy and practices in this area are currently fluid as Wikispooks editors are still learning how to get the best out of the software, and simultaneously developing a framework for its use on the site. Some best practices are however emerging, such as the use of templates for all semantic markup.
==Development==
 
Existing use of SMW suggests that it has considerable potential to enhance the functionality of the site, making its contents more accessible to well thought out querying. Among other things, this will require:
 
 
 
*Some capable programming by editors up to speed on SMW
 
*Identifying and defining a core set of semantic ''properties'' (and possibly also ''concepts'') which are useful for structuring the data
 
*Applying these new structures to the existing content
 
*Allowing for seemlessly creation of these structures on new pages by non-SMW aware users (i.e. through semantic forms)
 
  
 
===Integrating with Mediawiki===
 
===Integrating with Mediawiki===
Mediawiki's main organisational tools for arranging pages are the ''namespace'' and the ''category''. Adding SMW's ''properties'' and ''concepts'' to the mix allows for considerable flexibility in how to organise data. The basic approach is a replacement of the generic ''grouped together with'' (category) relationship by SMW's more precisely defined relationships (properties). How best to do this remains an open question, but some basic principles are:
+
Mediawiki's main organisational tools for arranging pages are the ''namespace'' and the ''category''. Manually assigned categories are still used for [[templates]], but are not recommended for ordinary pages, since SMW is easier to maintain and provides a superior user experience. There is a possibility of greatly expanding the use of namespaces to reflect the structure of objects defined (i.e. having separate namespaces for {{t|Person:}}, {{t|Event:}}, {{t|Book:}}, {{t|Nation:}} etc. Input is welcome about this on this talk page.
#''Properties'' and ''Concepts'' are generally to be preferred to ''categories''
 
#For reasons of reliability and maintenance, data should be dynamically produced (e.g. from templates) rather than input by hand whenever possible
 
#''Hard thinking'' is preferable to ''hard work'' where possible :)
 
  
''See [[{{TALKPAGENAME}}]] for more detailed discussion''.
+
==Known Issues==
 +
{{FA|Wikispooks:SMW Known Issues}}
 +
Semantic Mediawiki is undergoing active development and as such, not without problems. If important, these will likely be resolved in time by the software's developers. This page is for reporting and discussion of any such issues.
  
{{WikiSpooks Footer/Technical}}
+
==See Also==
[[Category:WikiSpooks Technical]]
+
* [https://semantic-mediawiki.org/ Semantic Mediawiki software homepage]
 +
* [http://en.wikipedia.org/wiki/Semantic_Web Wikipedia on the Semantic Web]
 +
{{Wikispooks Footer/Semantic Mediawiki}}
 +
[[Category:Semantic Mediawiki| ]]

Revision as of 17:28, 14 October 2018

SMW.png

Semantic Mediawiki (SMW) extends the basic Mediawiki software by providing semantic definition and querying capabilities. This offers two main benefits to the site - (i) a richer set of ways to organise and use the information, (ii) the possibility to define site feeds to export the data in a predictable format, for others to build upon.

Using the SMW Extension

SMW download page

Thankfully, using the SMW extension (like using Mediawiki) does not require understanding how it works. Behind the scenes, SMW is doing a lot of work organising and cross-referencing pages, but all you really need to know as an editor is the magic word {{SMWDocs}}, which should be placed just above the "references" section. This calls Template:SMWDocs, which searches the site and automatically prepares a set of tables of any relevant documents and pages.

Understanding SMW

Semantic Mediawiki may seem to present quite a steep learning curve for non-computer scientists, as the idea of 'semantic data' may not be intuitive. Robin has volunteered to try to answer any and all SMW queries and to give to beginners help where needed. If you want to get to grips with the syntax, there is a lot of help online about this, and a useful guide to the syntax - which also gives an idea of the range of SMW - is the quick reference guide, available here. Note that you don't actually need to understand any syntax to get started - if you can fill in a form, then you can fill in semantic data!

Use on Wikispooks

Since November 2013, Wikispooks has made use of SMW and associated extensions (Semantic Bundle). The approach is to:

  1. Define a core set of semantic objects for structuring the data, with their own sets of properties and interrelationships
  2. Creating a set of semantic templates to present these objects and their interrelationships
  3. Creating a set of semantic forms to present these objects and their interrelationships
  4. Processing the existing content to fit it into these structures
  5. Allowing for seamless creation of these structures on new pages by non-SMW aware users (i.e. through semantic forms)

Semantic Objects

Full article: Wikispooks:Semantic Objects

Wikispooks has been using a core set of semantic objects for about 4 years with only very minor changes, so they can be considered stable. By structuring the Wikispooks data, they facilitate interoperation with other projects, as well as coming with a set of forms, templates and properties to interrelate them.

Semantic Properties

Full article: Wikispooks:Semantic Properties

A property is the basic type of semantic data. Wikispooks currently has 259 properties in use, each of which is documented using Template:Property.

Semantic Templates

Full article: Wikispooks:Semantic Templates

If you can code ordinary Templates, then you should find it no trouble to code Semantic Templates. All the structure and syntax from ordinary Mediawiki applies, as does the template standardisation policy. In addition there are a couple of parser functions to provide access to the semantic properties.

Semantic Forms

Full article: Wikispooks:Semantic Forms

A form is just what it sounds like - a set of boxes and checkboxes to be filled in. The 'semantic' aspect is that each of these fields is tied to particular parameters in a template. Wikispooks currently has only a few semantic forms in use, because the first priority is defining the objects and templates.

Best Practice

Full article: Wikispooks:SMW Best Practice

Policy and practices in this area are currently fluid as Wikispooks editors are still learning how to get the best out of the software, and simultaneously developing a framework for its use on the site. Some best practices are however emerging, such as the use of templates for all semantic markup.

Integrating with Mediawiki

Mediawiki's main organisational tools for arranging pages are the namespace and the category. Manually assigned categories are still used for templates, but are not recommended for ordinary pages, since SMW is easier to maintain and provides a superior user experience. There is a possibility of greatly expanding the use of namespaces to reflect the structure of objects defined (i.e. having separate namespaces for Person:, Event:, Book:, Nation: etc. Input is welcome about this on this talk page.

Known Issues

Full article: Wikispooks:SMW Known Issues

Semantic Mediawiki is undergoing active development and as such, not without problems. If important, these will likely be resolved in time by the software's developers. This page is for reporting and discussion of any such issues.

See Also

Wikispooks logo.png Policy.png Wikispooks to do.png Tools2.png SMW.png
Semantic
Mediawiki
Help.png