Difference between revisions of "Semantic MediaWiki/data"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
Line 1: Line 1:
 
==Tables==
 
==Tables==
I'm presuming that there was a schema version 1 based on the naming of the version 2 tables (they all end in '2'), but this may be incorrect. In any case, schema version 2 corresponds approximately to SMW v1.x, and schema version 3 to SMW 2.x (and some high-numbered 1.x beta releases).
+
All of this information has been reverse-engineered, mostly from examination of data in a single SMW instance. I was not able to find any data-structure documentation in the [https://doc.semantic-mediawiki.org/index.html official code docs].
 +
 
 +
Note that the ''schema'' version numbers are generally higher than the corresponding SMW version<ref name=versions />.
 
{|
 
{|
 
|-
 
|-
 
| valign=top |
 
| valign=top |
 
===schema version 3===
 
===schema version 3===
These are present in SMW version <s>1.9 alpha</s> (I think I ''must'' have meant 2.9 alpha):
+
These are present in SMW version 1.9 alpha<ref name=versions />:
* [[/smw_di_*]]:
+
* '''[[/smw_di_*]]''':
 
** [[/smw_di_blob]]
 
** [[/smw_di_blob]]
 
** [[/smw_di_bool]]
 
** [[/smw_di_bool]]
Line 63: Line 65:
 
* Presumably the type of storage can be determined by looking up the SMW ID in [[/smw_spec2]], making it unnecessary to check multiple tables (rels2, text2, atts2) for each property. but it does not seem to have been designed for this purpose.
 
* Presumably the type of storage can be determined by looking up the SMW ID in [[/smw_spec2]], making it unnecessary to check multiple tables (rels2, text2, atts2) for each property. but it does not seem to have been designed for this purpose.
 
|}
 
|}
 +
==Footnote==
 +
<references>
 +
<ref name=versions>I'm presuming that there was a schema version 1 based on the naming of the version 2 tables (they all end in '2'), but this may be incorrect. In any case, schema version 2 corresponds approximately to SMW v1.x, and schema version 3 to SMW 2.x (and some high-numbered 1.x beta releases).</ref>
 +
</references>

Revision as of 23:08, 10 July 2020

Tables

All of this information has been reverse-engineered, mostly from examination of data in a single SMW instance. I was not able to find any data-structure documentation in the official code docs.

Note that the schema version numbers are generally higher than the corresponding SMW version[1].

schema version 3

These are present in SMW version 1.9 alpha[1]:

schema version 2

These were present in SMW version 1.7, and may also be valid for 1.8 (but not 1.9):

  • /smw_atts2: relationships where the value is numerically/logically significant, or a "string" (non-page type)
  • /smw_conc2: not sure; probably concepts
  • /smw_conccache: not sure; presumably a cache for concepts
  • /smw_ids: assigns IDs to all properties, and values that map to a (potential) wiki page
  • /smw_inst2: not sure
  • /smw_redi2: not sure; redirects?
  • /smw_rels2: relationships where the value refers to a (potential) wiki page
  • /smw_spec2: URLs to SWiVT specs
  • /smw_subp2: not sure; sub-property map?
  • /smw_subs2: not sure; looks like a mapping of categories to sub-categories
  • /smw_text2: relationships where the value is a long text/data blob

Core tables are boldfaced; the others seem to be primarily for optimization or auxiliary purposes.

Explanations

  • Semantic relationships are defined in /smw rels2, /smw_text2, and /smw_atts2.
  • Correspondence between SMW entities (property names and some property values) and MediaWiki pages is defined in /smw_ids
  • Presumably the type of storage can be determined by looking up the SMW ID in /smw_spec2, making it unnecessary to check multiple tables (rels2, text2, atts2) for each property. but it does not seem to have been designed for this purpose.

Footnote

  1. 1.0 1.1 I'm presuming that there was a schema version 1 based on the naming of the version 2 tables (they all end in '2'), but this may be incorrect. In any case, schema version 2 corresponds approximately to SMW v1.x, and schema version 3 to SMW 2.x (and some high-numbered 1.x beta releases).