Practical Semantic Mediawiki: Difference between revisions

From zooid Wiki
Jump to navigation Jump to search
Line 235: Line 235:
* Subtypes
* Subtypes
** A city is a place
** A city is a place
* '''With inline properties, you can annotate any page in a freeform way, and query those annotations on other pages, using views like maps and timelines, simple lists for todo items, sums for numbers, etc'''


== Queries ==
== Queries ==

Revision as of 13:59, 26 November 2010

This free hands-on workshop for non technical users emphasizes the "need to know" aspects of Web publishing, wikis, information design and Semantic Mediawiki for flexible, structured, practical re-usable content that fits into the Web of Data. It is not expected participants will become experts in all these topics, but will be able to create a site, and have an overview of what can be done as a basis of progressive learning. The workshop comes with unlimited free support for any open cause (as practical).

I will be guiding this workshop November 26, 2010 at ecto coop in Montreal from 10AM till 1PM.


Forward

Practice site: http://practice.zooid.org/wiki/Practice

Acronyms

  • MW: Mediawiki
  • SMW: Semantic Mediawiki

Web publishing

Difference between Semantic Mediawiki and static web sites, CMS, Mediawiki

  • Designing information well makes it easier to find, consistent and re-usable.


  • Static web sites can be more difficult to manage active content, it's harder to re-use content. They can require more technical knowledge to edit consistently.
  • Content management systems use forms to guide content editing, but they tend to require low level changes (database, programming), and most users have constrained access to the site
  • Mediawiki is designed to organize large sets of pages, potentially with many involved people, with potentially less constrained access
  • It is the same software the world-changing Wikipedia uses
  • Semantic Mediawiki adds structured information and views (Wikipedia considers their approach)
    • We are going to learn markup encoding in order to have more control over content and appearance

Access models

  • Fully open, no login required
  • Require login for editing
  • Require created accounts to edit (closed editing)
  • Require created accounts to access (fully private)
    • Encryption to avoid snooping

Access models can be changed over time; avoid starting a wiki with jargon or unsympathetic content.

Site users

  • Levels
    • De-emphasize control, make it as flat as possible
    • Bureaucrats still exist - edit site-wide content and styles, block pages and users
  • OpenID signin allows people to use account information from other OpenID sites

The distinction is in the capability, and the phrase 'community plumbing.'

When developing a functional web site, once we get into the php / database level, things get tremendously more complex. Semantic Mediawiki avoids that altogether by building on Mediawiki markup and a higher level of expression.

The Drupal core developers have a policy of not maintaining backward compatibility between major versions. So a client with a Drupal 5.x module has a real problem. If something goes wrong or needs to be changed/extended on a module, you have to find a developer willing to do that work, which is very specific. They may need to update to the latest Drupal, which is a major undertaking when all modules are considered. Any change on a Drupal site, no matter how minor, might involve dozens of hours, it involves accessing the server via ssh or ftp, changing the database, you name it. It's clearly out of the hands of mere mortals. I saw this again and again, and was forced to create this situation. I see a lot of programming shops that have bad relationships with their clients and act very defensively, with high charges for every change, because of the complexity involved.

Whereas with SMW, you can view the source of any page to see how something was done, and do it yourself.

Granted, SMW is not a full programming system and can't do everything php/Drupal can do, but it can cover a large number of cases - blogs, discussions, home pages, events, hypertext pages, database functions including locations, dates, etc.

Many non programmers edit Wikis, none can change a Drupal site. They're completely reliant on the plumber. The plumber has to chose a particular version of Drupal for particular modules, which is probably not the most recent version so it has built in obsolescence. If the client can't reach their original plumber, they better hope they can find someone who can deal with the previous work. SMW has core underpinnings, with markup on top of that, and it's all built on the thousands of tested MW modules.

People can progressively learn MW/SMW, they really can't do that with Drupal without creating a disaster. I've taught non technical people to create schemas, queries and views in SMW. They typically didn't use the advanced function after the overview, but at least I'm teaching them more than how to fill in a form, and the computer isn't so much a scary database and mystical programming language, it's clear it's a participatory medium built on the momentum of Wikipedia. There's no similar heralded Drupal site (Drupal was used for the Howard Dean campaign, but any CMS could have been used).

I don't know much about Wordpress, from what I understand it's more something you use as is, the customization is more around themes. Last I checked, Drupal was heading in a more fluid direction with CCK (with RDF under the covers for reusable content across sites), but it's still not the same thing as the "aliveness" of an SMW page. If I could cc this message to an SMW install (extensions exist for this), I could create todo events, pages, entities, all using the established MW/SMW combo from email.

My interest is in digital literacy.. getting people to stop using computers as fancy typewriters, instead create reusable statements, schemas, queries, progressively build on their knowledge in focused ways, always able to learn from examples. SMW excels at that. Any content on an SMW site can be reused between functions, and sites can access each other's information.

MW/SMW also comes with a culture of Creative Commons style licenses. On a MW/SMW site, any user can create their own sub site out of pages and structure, and take it away if they need to. On a Drupal site, it's all top down.

I try to get this across to clients, ultimately they usually enjoy the overview but can't participate for their own good reasons, which is fine. SMW isn't ready for everything yet, but I think the markup approach is the best way out of MS Word / forms based approaches.

See also: SMW as Lego blocks

Template:SH Triple Template:SH AddTemplate:SH Obsolete

Accessibility

Here, accessibility refers to supporting people with vision, keyboard control or cognitive impediments.

  • Making sites accessible generally increases usability
    • Works on more devices from text browser to handheld
    • Typically more straightforward navigation
    • Accessible hot keys can be used by any expert user
    • The curb cuts principle
  • Mediawiki is accessible, SMW has issues (forms)
  • Value content over appearance
  • Use good captions for images ([[File:Orange.png|A square of the colour orange]]) , image maps

Terms of use

Copyright continuum, from traditional copyright to public domain
  • Creative Commons - share with options for attribution, non-commercial, changes
  • Traditional copyright - by permission only


Using Mediawiki

MediaWiki logo without tagline.png

Mediawiki is the underlying software of Wikipedia. It is robust, relatively easy to host (and there are lots of easy to use free and low cost hosting sites), and supported by a large community and supports hundreds of useful extensions.


Progressive uses

  • Basic site with pages and categories
    • You just need to know a few things for your wiki to be as useful as most Web sites
  • Add widgets for more interactivity
  • Wiki gardening to reorganize content
  • Add semantic classes for reusable data


  • Typical users of a site
    • Viewer
    • Casual editor
    • Advanced editor (defines new templates, categories)
    • Gardener (organizes site content)
    • Helper (helps others)
    • Semantic coder
  • Third party sites
    • Media
    • Page links
    • Semantic content
  • Ideally online people will get to know each other through user pages (example)

Creating pages

  • How to name pages
    • One topic per page
  • Short, avoid special symbols, use sentence type capitalization, avoid Title Case unless appropriate

Basic markup

A picture of clouds with the sun poking through in case people start to panic

Rather than using a rich text editor, Mediawiki uses a progressively learned set of markup, that's designed to be human-readable, consistent and enforces meaning over appearance. It's not dependant on special programs, and could be carved into a park bench and retain its meaning.

  • ''Italic'', '''Bold'''
  • * List heading level one — use # for numbered list
    • ** List level two — ## for numbered list
      • ...
  • =Heading one=
    • ==Heading two==
      • ...
  • [[Mypage]] — A wiki link
    • "Red links" are links to pages that don't exist
    • [[File:Mypicture.png]] — Media (inline or link)
      • A shortcut to creating images is to create the File: link first, then follow the red link to the upload form
    • [[Mypage|This is my page]] Alternate link text (using pipe symbol)
  • http://theirsite.com — A non-wiki link
    • Use [] brackets and space after the link to use your own link text. [http://theirsite.com Their site].
  • {{My Template}} — A template of page-included content (reusable content, function or site value).. templates are included from the inside out — {{second{{first}} }}
    • Don't Repeat Yourself
    • Pipe symbol is used to pass parameters — {{Highlight|Anything}} can be used to consistently apply an appearance to anything passed as a parameter
  • {{ #geocode: Montréal, Quebec}} — Template function, in this case geocode turns a place name into geographic coordinates
  • {{{1}}} — SMW variable, in this case the first value passed to a template

The most important rule is make sure your brackets match.

  • Finding or starting pages using go/search
  • Proactive linking
    • Brainstorm using links

The distinction is in the capability, and the phrase 'community plumbing.'

When developing a functional web site, once we get into the php / database level, things get tremendously more complex. Semantic Mediawiki avoids that altogether by building on Mediawiki markup and a higher level of expression.

The Drupal core developers have a policy of not maintaining backward compatibility between major versions. So a client with a Drupal 5.x module has a real problem. If something goes wrong or needs to be changed/extended on a module, you have to find a developer willing to do that work, which is very specific. They may need to update to the latest Drupal, which is a major undertaking when all modules are considered. Any change on a Drupal site, no matter how minor, might involve dozens of hours, it involves accessing the server via ssh or ftp, changing the database, you name it. It's clearly out of the hands of mere mortals. I saw this again and again, and was forced to create this situation. I see a lot of programming shops that have bad relationships with their clients and act very defensively, with high charges for every change, because of the complexity involved.

Whereas with SMW, you can view the source of any page to see how something was done, and do it yourself.

Granted, SMW is not a full programming system and can't do everything php/Drupal can do, but it can cover a large number of cases - blogs, discussions, home pages, events, hypertext pages, database functions including locations, dates, etc.

Many non programmers edit Wikis, none can change a Drupal site. They're completely reliant on the plumber. The plumber has to chose a particular version of Drupal for particular modules, which is probably not the most recent version so it has built in obsolescence. If the client can't reach their original plumber, they better hope they can find someone who can deal with the previous work. SMW has core underpinnings, with markup on top of that, and it's all built on the thousands of tested MW modules.

People can progressively learn MW/SMW, they really can't do that with Drupal without creating a disaster. I've taught non technical people to create schemas, queries and views in SMW. They typically didn't use the advanced function after the overview, but at least I'm teaching them more than how to fill in a form, and the computer isn't so much a scary database and mystical programming language, it's clear it's a participatory medium built on the momentum of Wikipedia. There's no similar heralded Drupal site (Drupal was used for the Howard Dean campaign, but any CMS could have been used).

I don't know much about Wordpress, from what I understand it's more something you use as is, the customization is more around themes. Last I checked, Drupal was heading in a more fluid direction with CCK (with RDF under the covers for reusable content across sites), but it's still not the same thing as the "aliveness" of an SMW page. If I could cc this message to an SMW install (extensions exist for this), I could create todo events, pages, entities, all using the established MW/SMW combo from email.

My interest is in digital literacy.. getting people to stop using computers as fancy typewriters, instead create reusable statements, schemas, queries, progressively build on their knowledge in focused ways, always able to learn from examples. SMW excels at that. Any content on an SMW site can be reused between functions, and sites can access each other's information.

MW/SMW also comes with a culture of Creative Commons style licenses. On a MW/SMW site, any user can create their own sub site out of pages and structure, and take it away if they need to. On a Drupal site, it's all top down.

I try to get this across to clients, ultimately they usually enjoy the overview but can't participate for their own good reasons, which is fine. SMW isn't ready for everything yet, but I think the markup approach is the best way out of MS Word / forms based approaches.

See also: SMW as Lego blocks

Template:SH Triple Template:SH AddTemplate:SH Obsolete

Categories

  • Categories [[Category:Places with rivers]]
    • Subcategories [[Category:Places with immediate access to water]]

It's a good practice to put every page in at least one category.

The distinction is in the capability, and the phrase 'community plumbing.'

When developing a functional web site, once we get into the php / database level, things get tremendously more complex. Semantic Mediawiki avoids that altogether by building on Mediawiki markup and a higher level of expression.

The Drupal core developers have a policy of not maintaining backward compatibility between major versions. So a client with a Drupal 5.x module has a real problem. If something goes wrong or needs to be changed/extended on a module, you have to find a developer willing to do that work, which is very specific. They may need to update to the latest Drupal, which is a major undertaking when all modules are considered. Any change on a Drupal site, no matter how minor, might involve dozens of hours, it involves accessing the server via ssh or ftp, changing the database, you name it. It's clearly out of the hands of mere mortals. I saw this again and again, and was forced to create this situation. I see a lot of programming shops that have bad relationships with their clients and act very defensively, with high charges for every change, because of the complexity involved.

Whereas with SMW, you can view the source of any page to see how something was done, and do it yourself.

Granted, SMW is not a full programming system and can't do everything php/Drupal can do, but it can cover a large number of cases - blogs, discussions, home pages, events, hypertext pages, database functions including locations, dates, etc.

Many non programmers edit Wikis, none can change a Drupal site. They're completely reliant on the plumber. The plumber has to chose a particular version of Drupal for particular modules, which is probably not the most recent version so it has built in obsolescence. If the client can't reach their original plumber, they better hope they can find someone who can deal with the previous work. SMW has core underpinnings, with markup on top of that, and it's all built on the thousands of tested MW modules.

People can progressively learn MW/SMW, they really can't do that with Drupal without creating a disaster. I've taught non technical people to create schemas, queries and views in SMW. They typically didn't use the advanced function after the overview, but at least I'm teaching them more than how to fill in a form, and the computer isn't so much a scary database and mystical programming language, it's clear it's a participatory medium built on the momentum of Wikipedia. There's no similar heralded Drupal site (Drupal was used for the Howard Dean campaign, but any CMS could have been used).

I don't know much about Wordpress, from what I understand it's more something you use as is, the customization is more around themes. Last I checked, Drupal was heading in a more fluid direction with CCK (with RDF under the covers for reusable content across sites), but it's still not the same thing as the "aliveness" of an SMW page. If I could cc this message to an SMW install (extensions exist for this), I could create todo events, pages, entities, all using the established MW/SMW combo from email.

My interest is in digital literacy.. getting people to stop using computers as fancy typewriters, instead create reusable statements, schemas, queries, progressively build on their knowledge in focused ways, always able to learn from examples. SMW excels at that. Any content on an SMW site can be reused between functions, and sites can access each other's information.

MW/SMW also comes with a culture of Creative Commons style licenses. On a MW/SMW site, any user can create their own sub site out of pages and structure, and take it away if they need to. On a Drupal site, it's all top down.

I try to get this across to clients, ultimately they usually enjoy the overview but can't participate for their own good reasons, which is fine. SMW isn't ready for everything yet, but I think the markup approach is the best way out of MS Word / forms based approaches.

See also: SMW as Lego blocks

Template:SH Triple Template:SH AddTemplate:SH Obsolete

Images and files

  • Uploading images and files

Page maintenance

  • Moving pages
    • Moving preserves the original link, can be useful for "also known as"

The distinction is in the capability, and the phrase 'community plumbing.'

When developing a functional web site, once we get into the php / database level, things get tremendously more complex. Semantic Mediawiki avoids that altogether by building on Mediawiki markup and a higher level of expression.

The Drupal core developers have a policy of not maintaining backward compatibility between major versions. So a client with a Drupal 5.x module has a real problem. If something goes wrong or needs to be changed/extended on a module, you have to find a developer willing to do that work, which is very specific. They may need to update to the latest Drupal, which is a major undertaking when all modules are considered. Any change on a Drupal site, no matter how minor, might involve dozens of hours, it involves accessing the server via ssh or ftp, changing the database, you name it. It's clearly out of the hands of mere mortals. I saw this again and again, and was forced to create this situation. I see a lot of programming shops that have bad relationships with their clients and act very defensively, with high charges for every change, because of the complexity involved.

Whereas with SMW, you can view the source of any page to see how something was done, and do it yourself.

Granted, SMW is not a full programming system and can't do everything php/Drupal can do, but it can cover a large number of cases - blogs, discussions, home pages, events, hypertext pages, database functions including locations, dates, etc.

Many non programmers edit Wikis, none can change a Drupal site. They're completely reliant on the plumber. The plumber has to chose a particular version of Drupal for particular modules, which is probably not the most recent version so it has built in obsolescence. If the client can't reach their original plumber, they better hope they can find someone who can deal with the previous work. SMW has core underpinnings, with markup on top of that, and it's all built on the thousands of tested MW modules.

People can progressively learn MW/SMW, they really can't do that with Drupal without creating a disaster. I've taught non technical people to create schemas, queries and views in SMW. They typically didn't use the advanced function after the overview, but at least I'm teaching them more than how to fill in a form, and the computer isn't so much a scary database and mystical programming language, it's clear it's a participatory medium built on the momentum of Wikipedia. There's no similar heralded Drupal site (Drupal was used for the Howard Dean campaign, but any CMS could have been used).

I don't know much about Wordpress, from what I understand it's more something you use as is, the customization is more around themes. Last I checked, Drupal was heading in a more fluid direction with CCK (with RDF under the covers for reusable content across sites), but it's still not the same thing as the "aliveness" of an SMW page. If I could cc this message to an SMW install (extensions exist for this), I could create todo events, pages, entities, all using the established MW/SMW combo from email.

My interest is in digital literacy.. getting people to stop using computers as fancy typewriters, instead create reusable statements, schemas, queries, progressively build on their knowledge in focused ways, always able to learn from examples. SMW excels at that. Any content on an SMW site can be reused between functions, and sites can access each other's information.

MW/SMW also comes with a culture of Creative Commons style licenses. On a MW/SMW site, any user can create their own sub site out of pages and structure, and take it away if they need to. On a Drupal site, it's all top down.

I try to get this across to clients, ultimately they usually enjoy the overview but can't participate for their own good reasons, which is fine. SMW isn't ready for everything yet, but I think the markup approach is the best way out of MS Word / forms based approaches.

See also: SMW as Lego blocks

Template:SH Triple Template:SH AddTemplate:SH Obsolete
Bonus practice: Add an image, place it on the right and include a caption.

  • Deleting pages

Templates

  • Templates - used for consistently reused content or formatting
  • Like a page link, for the first instance just enter a template placeholder, using two curly brackets instead of square. {{My template}}
  • Then follow the red link to fill in the template, and use it on other pages.
  • Templates can accept parameters, separated by the pipe symbol. {{{Template|Parameter1|Parameter2|...}} Parameters are available in the template as {{{1}}}, {{{2}}}, etc.

Making pages look good

CSS is the style system of Web pages and can also be used in Mediawiki. Like wiki markup, learning can be progressive.

Placeography | Biofuel Visions

  • Re-using CSS styling <div style="background: orange">Hello world</div>
    • Avoid losing meaning (don't use <big> for headers), keep it simple
  • Re-using styles MediaWiki:Common.css
  • Possible to hide MW's menus and change the 'skin'

The distinction is in the capability, and the phrase 'community plumbing.'

When developing a functional web site, once we get into the php / database level, things get tremendously more complex. Semantic Mediawiki avoids that altogether by building on Mediawiki markup and a higher level of expression.

The Drupal core developers have a policy of not maintaining backward compatibility between major versions. So a client with a Drupal 5.x module has a real problem. If something goes wrong or needs to be changed/extended on a module, you have to find a developer willing to do that work, which is very specific. They may need to update to the latest Drupal, which is a major undertaking when all modules are considered. Any change on a Drupal site, no matter how minor, might involve dozens of hours, it involves accessing the server via ssh or ftp, changing the database, you name it. It's clearly out of the hands of mere mortals. I saw this again and again, and was forced to create this situation. I see a lot of programming shops that have bad relationships with their clients and act very defensively, with high charges for every change, because of the complexity involved.

Whereas with SMW, you can view the source of any page to see how something was done, and do it yourself.

Granted, SMW is not a full programming system and can't do everything php/Drupal can do, but it can cover a large number of cases - blogs, discussions, home pages, events, hypertext pages, database functions including locations, dates, etc.

Many non programmers edit Wikis, none can change a Drupal site. They're completely reliant on the plumber. The plumber has to chose a particular version of Drupal for particular modules, which is probably not the most recent version so it has built in obsolescence. If the client can't reach their original plumber, they better hope they can find someone who can deal with the previous work. SMW has core underpinnings, with markup on top of that, and it's all built on the thousands of tested MW modules.

People can progressively learn MW/SMW, they really can't do that with Drupal without creating a disaster. I've taught non technical people to create schemas, queries and views in SMW. They typically didn't use the advanced function after the overview, but at least I'm teaching them more than how to fill in a form, and the computer isn't so much a scary database and mystical programming language, it's clear it's a participatory medium built on the momentum of Wikipedia. There's no similar heralded Drupal site (Drupal was used for the Howard Dean campaign, but any CMS could have been used).

I don't know much about Wordpress, from what I understand it's more something you use as is, the customization is more around themes. Last I checked, Drupal was heading in a more fluid direction with CCK (with RDF under the covers for reusable content across sites), but it's still not the same thing as the "aliveness" of an SMW page. If I could cc this message to an SMW install (extensions exist for this), I could create todo events, pages, entities, all using the established MW/SMW combo from email.

My interest is in digital literacy.. getting people to stop using computers as fancy typewriters, instead create reusable statements, schemas, queries, progressively build on their knowledge in focused ways, always able to learn from examples. SMW excels at that. Any content on an SMW site can be reused between functions, and sites can access each other's information.

MW/SMW also comes with a culture of Creative Commons style licenses. On a MW/SMW site, any user can create their own sub site out of pages and structure, and take it away if they need to. On a Drupal site, it's all top down.

I try to get this across to clients, ultimately they usually enjoy the overview but can't participate for their own good reasons, which is fine. SMW isn't ready for everything yet, but I think the markup approach is the best way out of MS Word / forms based approaches.

See also: SMW as Lego blocks

Template:SH Triple Template:SH AddTemplate:SH Obsolete


Bonus practice: Move your div to a reusable template

Semantic Mediawiki

SMW logo 180px.png

SMW is an extension ecology of MW that allows marking up content for re-use, and creating easier to use forms and views.


  • Meaning through annotations and relationships
    • You define the relationships for your application
    • Triples — subject, predicate, object
      • Subject — what we're talking about
      • Predicate — the relationship type
      • Object - what the subject is being related to
    • Combine them and you can flexibly describe anything
    • Montréal is a place
    • Montréal has population 1,906,811
    • Montréal has geographic coordinates 45.5088889, -73.5541667 (latitude and longitude)
  • What properties does your content need to be useful?

Inline property annotation

Single instances of data can be marked-up using annotations. Annotations look like categories, but they use a double colon. The first part is the relationship type, the second either a value or object page.

  • [[Date::Jan 1, 2011]] — A date value that adds a date to the page it's on.
  • [[asserted by::David Mason]] — A page link that asserts the page it's on


Page: Montreal

  • [[A::Place]]
  • [[Population::1906811]]
  • [[Geographic coordinates::45.5088889, -73.5541667]]

The distinction is in the capability, and the phrase 'community plumbing.'

When developing a functional web site, once we get into the php / database level, things get tremendously more complex. Semantic Mediawiki avoids that altogether by building on Mediawiki markup and a higher level of expression.

The Drupal core developers have a policy of not maintaining backward compatibility between major versions. So a client with a Drupal 5.x module has a real problem. If something goes wrong or needs to be changed/extended on a module, you have to find a developer willing to do that work, which is very specific. They may need to update to the latest Drupal, which is a major undertaking when all modules are considered. Any change on a Drupal site, no matter how minor, might involve dozens of hours, it involves accessing the server via ssh or ftp, changing the database, you name it. It's clearly out of the hands of mere mortals. I saw this again and again, and was forced to create this situation. I see a lot of programming shops that have bad relationships with their clients and act very defensively, with high charges for every change, because of the complexity involved.

Whereas with SMW, you can view the source of any page to see how something was done, and do it yourself.

Granted, SMW is not a full programming system and can't do everything php/Drupal can do, but it can cover a large number of cases - blogs, discussions, home pages, events, hypertext pages, database functions including locations, dates, etc.

Many non programmers edit Wikis, none can change a Drupal site. They're completely reliant on the plumber. The plumber has to chose a particular version of Drupal for particular modules, which is probably not the most recent version so it has built in obsolescence. If the client can't reach their original plumber, they better hope they can find someone who can deal with the previous work. SMW has core underpinnings, with markup on top of that, and it's all built on the thousands of tested MW modules.

People can progressively learn MW/SMW, they really can't do that with Drupal without creating a disaster. I've taught non technical people to create schemas, queries and views in SMW. They typically didn't use the advanced function after the overview, but at least I'm teaching them more than how to fill in a form, and the computer isn't so much a scary database and mystical programming language, it's clear it's a participatory medium built on the momentum of Wikipedia. There's no similar heralded Drupal site (Drupal was used for the Howard Dean campaign, but any CMS could have been used).

I don't know much about Wordpress, from what I understand it's more something you use as is, the customization is more around themes. Last I checked, Drupal was heading in a more fluid direction with CCK (with RDF under the covers for reusable content across sites), but it's still not the same thing as the "aliveness" of an SMW page. If I could cc this message to an SMW install (extensions exist for this), I could create todo events, pages, entities, all using the established MW/SMW combo from email.

My interest is in digital literacy.. getting people to stop using computers as fancy typewriters, instead create reusable statements, schemas, queries, progressively build on their knowledge in focused ways, always able to learn from examples. SMW excels at that. Any content on an SMW site can be reused between functions, and sites can access each other's information.

MW/SMW also comes with a culture of Creative Commons style licenses. On a MW/SMW site, any user can create their own sub site out of pages and structure, and take it away if they need to. On a Drupal site, it's all top down.

I try to get this across to clients, ultimately they usually enjoy the overview but can't participate for their own good reasons, which is fine. SMW isn't ready for everything yet, but I think the markup approach is the best way out of MS Word / forms based approaches.

See also: SMW as Lego blocks

Template:SH Triple Template:SH AddTemplate:SH Obsolete

  • With inline properties, you can annotate any page in a freeform way, and query those annotations on other pages, using views like maps and timelines, simple lists for todo items, sums for numbers, etc

Queries

"Ask" queries can be added to any page to add links or values from other pages according to parameters, for example, by category, pages that have particular values, etc.

    • {{ #ask: [[A::Place]] }}
    • {{ #ask: [[Category:City]] }}

Classes

Instead of using inline property assignments, semantic classes use templates with value assignments. This allows display formatting and further, consistent semantic interaction according to the template name (which is usually the category).

The distinction is in the capability, and the phrase 'community plumbing.'

When developing a functional web site, once we get into the php / database level, things get tremendously more complex. Semantic Mediawiki avoids that altogether by building on Mediawiki markup and a higher level of expression.

The Drupal core developers have a policy of not maintaining backward compatibility between major versions. So a client with a Drupal 5.x module has a real problem. If something goes wrong or needs to be changed/extended on a module, you have to find a developer willing to do that work, which is very specific. They may need to update to the latest Drupal, which is a major undertaking when all modules are considered. Any change on a Drupal site, no matter how minor, might involve dozens of hours, it involves accessing the server via ssh or ftp, changing the database, you name it. It's clearly out of the hands of mere mortals. I saw this again and again, and was forced to create this situation. I see a lot of programming shops that have bad relationships with their clients and act very defensively, with high charges for every change, because of the complexity involved.

Whereas with SMW, you can view the source of any page to see how something was done, and do it yourself.

Granted, SMW is not a full programming system and can't do everything php/Drupal can do, but it can cover a large number of cases - blogs, discussions, home pages, events, hypertext pages, database functions including locations, dates, etc.

Many non programmers edit Wikis, none can change a Drupal site. They're completely reliant on the plumber. The plumber has to chose a particular version of Drupal for particular modules, which is probably not the most recent version so it has built in obsolescence. If the client can't reach their original plumber, they better hope they can find someone who can deal with the previous work. SMW has core underpinnings, with markup on top of that, and it's all built on the thousands of tested MW modules.

People can progressively learn MW/SMW, they really can't do that with Drupal without creating a disaster. I've taught non technical people to create schemas, queries and views in SMW. They typically didn't use the advanced function after the overview, but at least I'm teaching them more than how to fill in a form, and the computer isn't so much a scary database and mystical programming language, it's clear it's a participatory medium built on the momentum of Wikipedia. There's no similar heralded Drupal site (Drupal was used for the Howard Dean campaign, but any CMS could have been used).

I don't know much about Wordpress, from what I understand it's more something you use as is, the customization is more around themes. Last I checked, Drupal was heading in a more fluid direction with CCK (with RDF under the covers for reusable content across sites), but it's still not the same thing as the "aliveness" of an SMW page. If I could cc this message to an SMW install (extensions exist for this), I could create todo events, pages, entities, all using the established MW/SMW combo from email.

My interest is in digital literacy.. getting people to stop using computers as fancy typewriters, instead create reusable statements, schemas, queries, progressively build on their knowledge in focused ways, always able to learn from examples. SMW excels at that. Any content on an SMW site can be reused between functions, and sites can access each other's information.

MW/SMW also comes with a culture of Creative Commons style licenses. On a MW/SMW site, any user can create their own sub site out of pages and structure, and take it away if they need to. On a Drupal site, it's all top down.

I try to get this across to clients, ultimately they usually enjoy the overview but can't participate for their own good reasons, which is fine. SMW isn't ready for everything yet, but I think the markup approach is the best way out of MS Word / forms based approaches.

See also: SMW as Lego blocks

Template:SH Triple Template:SH AddTemplate:SH Obsolete

Page: Montréal

{{Entity
|A=Place
|Population=10000
}}

Examples

  • Class templates will often contain queries that show linked classes

Use cases of Semantic Mediawiki's classes

Discourse DB

http://www.discoursedb.org (example) stores discourse relationships (position) for articles on current topics in a structured system.

{{Item
|author=The author or authors of the item; if there is more than one, separate their names with comas
|source=The publication in which it was printed/posted
|date=The date of publication
|url=A URL at which it can be found, if one exists
|quote=A one-to-four-sentence quote from the item, that captures the spirit of the opinion it holds
}}

The template includes a query for positions on this Item.

{{#ask:[[Category:Positions]][[Addresses topic::{{PAGENAME}}]]|format=topiclayout}}, which uses the isfor, isagainst, and ismixed properties.

{{#ask: [[is for::{{PAGENAME}}]]
  |format=template
  |template=ItemQuery
  |sort=Was published on
  |order=descending
  |link=subject
  |? Was written by
  |? Was published by
  |? Was published on
  |? Has URL
  |? Has quote
}}

Placeography

http://www.placeography.org (example) documents information about places. Its properties show some of the ambiguities when trying to describe things.

{{Infobox Building
|Building name
|Image
|Address
|Neighbourhood
|City-locality
|State-province
|County
|Country
|Year built
|Year razed
|Primary style
|Secondary style
|Additions
|Major Alterations
|Moved from Location
|Historic Function
|Current Function
|Architect or source of design
|Builder
|...
}}

Asian Canadian Wiki

http://www.asiancanadianwiki.org (example) AAType is used for artists and organizations.

{{AAType
|Image=uploaded picture
|Home page=URL
|Arts=acting, dance, ...
|Type=Person or Group
|Aspects=Developer, Moderator, Prominent
}}

The template includes queries for Events for the current page.


Forms and templates can support multiple properties per field.

The distinction is in the capability, and the phrase 'community plumbing.'

When developing a functional web site, once we get into the php / database level, things get tremendously more complex. Semantic Mediawiki avoids that altogether by building on Mediawiki markup and a higher level of expression.

The Drupal core developers have a policy of not maintaining backward compatibility between major versions. So a client with a Drupal 5.x module has a real problem. If something goes wrong or needs to be changed/extended on a module, you have to find a developer willing to do that work, which is very specific. They may need to update to the latest Drupal, which is a major undertaking when all modules are considered. Any change on a Drupal site, no matter how minor, might involve dozens of hours, it involves accessing the server via ssh or ftp, changing the database, you name it. It's clearly out of the hands of mere mortals. I saw this again and again, and was forced to create this situation. I see a lot of programming shops that have bad relationships with their clients and act very defensively, with high charges for every change, because of the complexity involved.

Whereas with SMW, you can view the source of any page to see how something was done, and do it yourself.

Granted, SMW is not a full programming system and can't do everything php/Drupal can do, but it can cover a large number of cases - blogs, discussions, home pages, events, hypertext pages, database functions including locations, dates, etc.

Many non programmers edit Wikis, none can change a Drupal site. They're completely reliant on the plumber. The plumber has to chose a particular version of Drupal for particular modules, which is probably not the most recent version so it has built in obsolescence. If the client can't reach their original plumber, they better hope they can find someone who can deal with the previous work. SMW has core underpinnings, with markup on top of that, and it's all built on the thousands of tested MW modules.

People can progressively learn MW/SMW, they really can't do that with Drupal without creating a disaster. I've taught non technical people to create schemas, queries and views in SMW. They typically didn't use the advanced function after the overview, but at least I'm teaching them more than how to fill in a form, and the computer isn't so much a scary database and mystical programming language, it's clear it's a participatory medium built on the momentum of Wikipedia. There's no similar heralded Drupal site (Drupal was used for the Howard Dean campaign, but any CMS could have been used).

I don't know much about Wordpress, from what I understand it's more something you use as is, the customization is more around themes. Last I checked, Drupal was heading in a more fluid direction with CCK (with RDF under the covers for reusable content across sites), but it's still not the same thing as the "aliveness" of an SMW page. If I could cc this message to an SMW install (extensions exist for this), I could create todo events, pages, entities, all using the established MW/SMW combo from email.

My interest is in digital literacy.. getting people to stop using computers as fancy typewriters, instead create reusable statements, schemas, queries, progressively build on their knowledge in focused ways, always able to learn from examples. SMW excels at that. Any content on an SMW site can be reused between functions, and sites can access each other's information.

MW/SMW also comes with a culture of Creative Commons style licenses. On a MW/SMW site, any user can create their own sub site out of pages and structure, and take it away if they need to. On a Drupal site, it's all top down.

I try to get this across to clients, ultimately they usually enjoy the overview but can't participate for their own good reasons, which is fine. SMW isn't ready for everything yet, but I think the markup approach is the best way out of MS Word / forms based approaches.

See also: SMW as Lego blocks

Template:SH Triple Template:SH AddTemplate:SH Obsolete
Bonus practice: Add a map to the template if the page has a location that can be geocoded

Views

  • Format= parameter to queries
    • {{ #ask: [[Geographic coordinate::+]]|format=map}}

The distinction is in the capability, and the phrase 'community plumbing.'

When developing a functional web site, once we get into the php / database level, things get tremendously more complex. Semantic Mediawiki avoids that altogether by building on Mediawiki markup and a higher level of expression.

The Drupal core developers have a policy of not maintaining backward compatibility between major versions. So a client with a Drupal 5.x module has a real problem. If something goes wrong or needs to be changed/extended on a module, you have to find a developer willing to do that work, which is very specific. They may need to update to the latest Drupal, which is a major undertaking when all modules are considered. Any change on a Drupal site, no matter how minor, might involve dozens of hours, it involves accessing the server via ssh or ftp, changing the database, you name it. It's clearly out of the hands of mere mortals. I saw this again and again, and was forced to create this situation. I see a lot of programming shops that have bad relationships with their clients and act very defensively, with high charges for every change, because of the complexity involved.

Whereas with SMW, you can view the source of any page to see how something was done, and do it yourself.

Granted, SMW is not a full programming system and can't do everything php/Drupal can do, but it can cover a large number of cases - blogs, discussions, home pages, events, hypertext pages, database functions including locations, dates, etc.

Many non programmers edit Wikis, none can change a Drupal site. They're completely reliant on the plumber. The plumber has to chose a particular version of Drupal for particular modules, which is probably not the most recent version so it has built in obsolescence. If the client can't reach their original plumber, they better hope they can find someone who can deal with the previous work. SMW has core underpinnings, with markup on top of that, and it's all built on the thousands of tested MW modules.

People can progressively learn MW/SMW, they really can't do that with Drupal without creating a disaster. I've taught non technical people to create schemas, queries and views in SMW. They typically didn't use the advanced function after the overview, but at least I'm teaching them more than how to fill in a form, and the computer isn't so much a scary database and mystical programming language, it's clear it's a participatory medium built on the momentum of Wikipedia. There's no similar heralded Drupal site (Drupal was used for the Howard Dean campaign, but any CMS could have been used).

I don't know much about Wordpress, from what I understand it's more something you use as is, the customization is more around themes. Last I checked, Drupal was heading in a more fluid direction with CCK (with RDF under the covers for reusable content across sites), but it's still not the same thing as the "aliveness" of an SMW page. If I could cc this message to an SMW install (extensions exist for this), I could create todo events, pages, entities, all using the established MW/SMW combo from email.

My interest is in digital literacy.. getting people to stop using computers as fancy typewriters, instead create reusable statements, schemas, queries, progressively build on their knowledge in focused ways, always able to learn from examples. SMW excels at that. Any content on an SMW site can be reused between functions, and sites can access each other's information.

MW/SMW also comes with a culture of Creative Commons style licenses. On a MW/SMW site, any user can create their own sub site out of pages and structure, and take it away if they need to. On a Drupal site, it's all top down.

I try to get this across to clients, ultimately they usually enjoy the overview but can't participate for their own good reasons, which is fine. SMW isn't ready for everything yet, but I think the markup approach is the best way out of MS Word / forms based approaches.

See also: SMW as Lego blocks

Template:SH Triple Template:SH AddTemplate:SH Obsolete


Basic inference

Inference is used to derive information from basic details.

{{#ifexpr: {{{Population|}}} > 50000 | [[Category:City]] }}

If the page's population is greater than 50000, then put it in the category of city.

  • If it's within 500m of water...
  • If it has been visited in the last 4 months
  • If it has a picture...
  • If it has more than one relation...

This is a simple form of artificial intelligence, that can be very useful for large sets of pages for arbitrary classifications.

Future directions

  • Relating ontologies (categories and properties) between sites
  • Reusing content
    • Open data — information from government and other sources is becoming available
  • Easier to use interfaces
    • But it always helps to have an understanding of the details
  • Creating a big picture across the web where anyone can ask questions and add their data


Mediawiki Widgets

Mediawiki Widgets allow embedding third-party site content for rich media (Youtube, photo sites, etc) and interactive discussions (DISQUS, Twitter, etc) without needing to set it up or host it on your site.

  • DISQUS discussion
    • Register with DISQUS
    • Get key
    • Create widget
    • Embed widget on pages

Converting content or sites

Hosting

  • Special:Export a site, modularize by category
    • Complete site export
  • Special:Version
  • Free light/startup hosting
  • Inexpensive Mediawiki with SMW option
  • Wikia
  • Self-hosting

Getting help

  • View source of pages
  • Mediawiki help sites and community
  • Semantic mediawiki help sites and community
  • If it's for an open cause, ask me
    • User group

Reusing this workshop

Material on this page is free to re-use under a Creative Commons by-sa license, please attribute wiki.zooid.org.

Template:SH Triple Template:SH AddTemplate:SH Obsolete