Semantic MediaWiki/data/smw di wikipage

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
< Semantic MediaWiki‎ | data
Revision as of 17:22, 28 January 2018 by Woozle (talk | contribs) (simple example)
Jump to navigation Jump to search

About

  • Purpose: specifications for all SMW Objects where the value is a possible wiki page title (existing or not)
  • Refers to: smw_object_ids

Fields

  • p_id: page on which the property appears
  • s_id: page for property name
  • o_od: page for property value

SQL

CREATE TABLE `smw_di_wikipage` (
  `s_id` int(8) unsigned NOT NULL,
  `p_id` int(8) unsigned NOT NULL,
  `o_id` int(8) unsigned DEFAULT NULL,
  KEY `s_id` (`s_id`,`p_id`),
  KEY `p_id` (`p_id`,`o_id`),
  KEY `o_id` (`o_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary

Example

simple

SELECT 
    smw_id,
    smw_namespace,
    CAST(smw_title AS CHAR) AS title,
    CAST(smw_iw AS CHAR) AS iw,
    CAST(smw_subobject AS CHAR) AS subobject,
    CAST(smw_sortkey AS CHAR) AS sortkey,
    CAST(smw_proptable_hash AS CHAR) AS proptable_hash
FROM
    smw_object_ids;

relationships

SELECT s_id,p_id,o_id
  , s.smw_namespace AS s_namespace
  , CAST(s.smw_title AS char) AS s_title
  , p.smw_namespace AS p_namespace
  , CAST(p.smw_title AS char) AS p_title
  , o.smw_namespace AS o_namespace
  , CAST(o.smw_title AS char) AS o_title
  FROM
    ((smw_di_wikipage AS r
    LEFT JOIN smw_object_ids AS s ON r.s_id=s.smw_id)
    LEFT JOIN smw_object_ids AS p ON r.p_id=p.smw_id)
    LEFT JOIN smw_object_ids AS o ON r.o_id=o.smw_id
ORDER BY s_id, p_title, o_title
  • p_namespace will probably always be the "property:" namespace, which defaults to 102 (unless there's some way to use a page outside that namespace as a property)