SMW notes: Difference between revisions

103 bytes added ,  7 September 2009
Line 1: Line 1:
Some tips and tricks for using Semantic Mediawiki.


== Other tip sources ==
http://smwforum.ontoprise.com/smwforum/images/a/ad/Manual_SMW.pdf
http://smw.referata.com/wiki/Special:BrowseData/Tips
http://smwforum.ontoprise.com/smwforum/index.php/Example:All_libraries
http://help.wikia.com/wiki/Help:Semantic_MediaWiki/Tips_and_tricks
(from mailing list)
== Data design ==
http://www.mediawiki.org/wiki/Extension:Semantic_Forms#Data_design_issues
- Create a top category for Semantic Classes. I called mine 'Categories'.
It holds only categories used to define a 'Is-a' relationship. Doing so has
at least two benefits : 1- You can do a query on your core content by
restricting it to the 'Categories' level. 2- You can define other
categories outside of that structure for whatever your system needs.
http://smwforum.ontoprise.com/smwforum/index.php/Example:How_to_realize_a_range_constraint_for_a_property
Redirects can be used to create property synonyms.
== Discussion ==
Categories can be hierarchical; properties can't (yet).
== MW tricks ==
If you want to clear out old pages you can delete them and use
deleteArchivedRevisions.php to erase the deleted revisions from the
database.
=== Variables ===
You can make use of the VariablesExtension [1] and store the query (or its
result? I'd like to know which one, but in the end it doesn't really matter) in
a variable, which is helpful when you need the same query multiple times within
a page. It looks like this:
{{ #vardefine: some_variable_name | {{#show:{{PAGENAME}}| ?propertyname}} }}
(silent) or
{{ #vardefineecho: some_variable_name | {{#show:{{PAGENAME}}| ?propertyname}} }} (with output)
Further down in the page you can write
{{ #var: some_variable_name }}
=== Specific searches ===
  <nowiki>
  <inputbox>
  type=search
  width=30
  namespaces=Help**,Wikipedia**,Template**
  searchbuttonlabel=Search help pages
  bgcolor=#cee0f2
  break=no
  </inputbox>
  </nowiki>
(requires the Input Box extension)
=== Profiling mediawiki ===
http://www.mediawiki.org/wiki/How_to_debug#Profiling
=== Hiding set data ===
  <nowiki>[[propertyA::{{{propertyA|}}}|]]</nowiki>
By adding the | after the enclosing }}}, the property value will not show.
For multi value properties:
  <nowiki>{{#arraymap:{{{Eating disorders behaviors|}}}|,|x|[[Eating disorders behaviors::x|]]}}</nowiki>
== Misc ==
=== Enable links in property values ===
$smwgLinksInValues = true;
=== Must add namespaces to config ===
Otherwise they won't have semantic properties.
$smwgNamespacesWithSemanticLinks array
== Media ==
Neat talk on MW, with refs to SMW: http://www.youtube.com/watch?v=Ukytqe9pwDM
[[Semantics]]