Overview Edit

Semantic Mediawiki, a.k.a. SMW, is an enabled extension that is currently used to organize data about pins, items, etc.


Fandom (called Wikia at the time) stopped installing SMW on new wikis as of late 2012 due to server strain/performance issues, bugs, and limitations. For more information, please see this page, found via this user blog on this wiki.

Possible ReplacementEdit

Current wiki editors are unsure if there is a suitable replacement for SMW on the wiki, though ideas and input are appreciated. Please feel free to make a thread on the wiki forum to discuss SMW and possible replacements.

Links Edit

Properties Edit

These are the properties currently defined for the pins. No need to do anything special, as you type information into the templates, these properties will be automatically updated. It does take some time, however; some changes don't update until the admin runs a special "update" script (which is about once a day or so).

Where Semantic Stuff is Used Edit

Examples Edit

Here's a few examples of what SMW can do. Note the top-of-column icons that let you sort by any column.

List all the pins with Piercing Pillar psych, showing their name, brand and element:
Pin 001Ice BlowD+BNeg
Pin 002Ice RisersD+BNeg
Pin 003Frozen CoolD+BNeg
Pin 004Blizzard CoolD+BNeg
Pin 215Black UranusGatitoNeg
Pin 243Tin Pin ShivaUnbrandedNeg
Pin 280TigrisUnbrandedNeg
List the top 10 heaviest pins:
Pin 115Wassup Voltage!10
Pin 106Long Live the Floe10
Pin 111Cold Stare10
Pin 263Lucky Star10
Pin 299Anguis10
Pin 116Indestructo Man10
Pin 107Eyes Full of Hope10
Pin 112Icy Stare10
Pin 117Hip Snake10
Pin 108Eyes Full of Light10
... further results

Outstanding Issues Edit

User-Defined Types Edit

  • Can we define a number type that also can have "---" as a special valid value?
    • Not now, and probably never
  • Can we define which properties must be present for an item, so that if absent, it's flagged as missing data?
    • Not now, and probably never; will continue to use templates for this
  • Can we map string values into images, links, and display titles, so that when Pos is encountered in Element property, it's actually displayed as Pospsyche or as a link, or something like that?
    • Not now, and probably never; will continue to use templates for this
  • Can we tell numeric values to accept formats like 6,300, but display everything as 6300?
    • Maybe, we would need a parser to delete the commas and stuff
  • can we create a string-like type whose valid values are "001" through "304"
    • Not now, maybe in the distant future?
  • For the above type (001..304 range), can we define numerical operations?
    • Not now, and probably never; but luckily we don't need it, since alphabetical sort works fine
  • Can we say, in the property page, that certain values are equivalent? e.g., 'case doesn't matter'; or 'yes' is same 'y'? 'E' same as 'Easy', etc.?
    • Not now, and probably never; but there's an argument that this shouldn't be needed, since data typed in should be consistent to begin with
    • Also, "y" is actually equivalent to "yes" already, using type boolean

Data Validation Edit

  • can we enforce the use of correct units for numeric fields? or prohibit units altogether?
  • Not now, and probably never
  • can we say something in the Property page that prevents it from being displayed in the page at all?
  • No; we just use space after the pipe: [[PropertyX::valueY| ]]
  • how do we touch all relevant pages using pywikimedia (and which pages is it? just definitions and queries?)
  • Use archive/ script
  • can we use regex to validate data fields?
  • Not now, maybe in a distant future

Display Edit

  • can we display all values of a given property (e.g., Psych, for use in Psych)
  • Maybe
  • can we display all invalid data over the whole wiki?
  • Maybe
  • can we tell a string-type property to actually display a link, but according to *our* rules (like ignore ending +, etc.)?
  • Not now, and probably never

Functions on Properties Edit

  • can we use any kind of functions inside property page? e.g., 'dropped by raw::No. 25 Easy/Normal' would automatically define properties 'dropped by::25E', 'dropped by::25N'
  • Not now, and probably never

Data Organization Edit

  • how to deal with the + version of psychs, like Mobility Blight+? Create a separate page for them? Or just extend query to have +?
  • Ideally, we'd say that one is a enhanced version of the other, and add enhanced version into the query; but that means creating lots of pages for no other reason than to satisfy SMW; so maybe we just use hacks instead
Community content is available under CC-BY-SA unless otherwise noted.