Semantic MediaWiki
This page is for notes related to Semantic MediaWiki (SMW)
Contents
SMW Basics
Semantic MediaWiki (SMW) is an extension running on this wiki to help organize structured data, specifically about NGS software packages. For more information, see the overview below.
Links for SMW
- SMW page on the MediaWiki website
- Not the official home of SMW, but has some useful information.
- SMW project and user documentation
- The actual homepage of Semantic MediaWiki, including user documentation.
- Semantic MediaWiki Community Wiki
- information on people and organizations in the Semantic MediaWiki community and a listing of SMW-based sites.
- Semantic forms
- One of the most important SMW based extensions, and a very useful source of documentation (if you have 10 minutes, work through 'Getting started' and the example).
- other extensions
- including Semantic DrillDown.
- Publications
- describe in detail the ideas behind SMW and its query features.
- IRC
- Talk LIVE to SEXY SMW users NOW!
SMW Overview
For a brief, high level overview of 'data modelling in SMW', see: Semantic MediaWiki/Overview.
SMW here
Currently we have one 'table' in the wiki (called Classes by SF, for reasons which should become clear).
Creating the 'software' section of the wiki using SMW/SF
Remember, in the SF model, a MW Category is equivalent to a database Table and a MW Page in that category is equivalent to a Row in that Table. Finally, the SMW Properties on the page are the Columns of the Table. i.e. each Page in the Category should carry the same set of Properties. This is all achieved by the use of a Template with an associated Category. For convenience each 'Table' (Template+Category) has an associated Form.
Modelling a 'bioinformatics application'
Below is a copy of a letter that was sent to the 'BioCatalogue' mailing list. It is included here for ongoing discussion, but I'm not sure how that should be structured within a wiki... perhaps we should return this discussion to an appropriate thread on the forum?
Hi all, Some friends and I are trying to set up a little database of software tools in bioinformatics. We'd like to make the system as generic as possible so that we can (hopefully) 'plugin' to wider efforts such as BioCatalogue, people developing SOPs, MIs, pipeline tools, etc., etc. So... What is the minimum information needed to describe a bioinformatics software application? Are there ontologies available for describing software? How about ontologies for describing input and output formats? Is there anything else I should be thinking about? Please note that we are not very technically grounded, and we just need to get something up and running quickly. However, we don't want to miss anything obvious on the way. Roughly speaking, I was thinking that each package should have the following data associated with it: * biological application domain, multiple values, e.g. phylogenetics, systems biology, genetics, ... * bioinformatics methods, multiple values, e.g. alignment, clustering, database searching, HMM, ... * software features, multiple values, e.g. command line, gui, data visualization, ... * host organization, e.g. none, ncbi, ebi, manc., ... * authors * references * links (user manual, howto, readme, mailing list, etc. * description, free text. * user comments / ratings (tbd). * input format * output format Any feedback on the above would be most welcome!
To the above we can at least add:
- summary
- licence
- os
- language
- logo
How does Wikipedia do it?
There must be lots of pages for software on WP... what do they look like?
Issues
- How to correctly model 'links' and 'references', which should strictly be separate 'tables' within the wiki, linked to the appropriate 'bioinformatics application'? I think I have an idea!
What we have here
This document is badly structured!
There is a 'class' called Bioinformatics application that is composed of three main wiki pages:
- A Template
- takes named values from the page describing the app. for formatting and semantic annotation. The template works like any other template in MediaWiki, but additionally, each field is associated with a particular semantic property.
- A Form
- used for adding new apps. to the wiki. The form can read and write templates, greatly simplifying the task of editing data. Because each field in the template / form is associated with a particular semantic property, the form allows autocompletion on the fields.
- A Category
- not strictly necessary, but a convenient place to associate pages in the wiki with a particular form. The Category is defined within the Template, so everything falls neatly into place. Muah ha ha har!
The set of fields / properties in the Template: There is some trick to listing these...
See: Special:Properties
Todo
- DONE: The 'bioinformatics application' form and template need cleaning up a lot!
- Need to set up the autocompletion fields in the 'bioinformatics application' form.
- DONE: Need to bulk import data from NBIC.
- DONE: Need to set up the Filters for the semantic drilldown pages
- Should make some nice queries.
- Lets write a paper.