|Holds names of wiki pages, and displays them as a link|
|Provided by:||Semantic MediaWiki|
|Added in version:||1.0|
|Removed in version:||still in use|
|In this wiki:||Page|
|Table of Contents|
The datatype Page is used for properties whose value is a page in the wiki. These display as a link and may not be longer than 255 characters.
This datatype is the default datatype of a property if a different datatype was not explicitly set. In other words, if you write
[[Brand New Prop::Some Value]], SMW assumes Brand New Prop is of type "Page" and that Some Value is a page in the wiki (whether or not it exists).
Note that properties of type “Page” only list properties that explicitly state their type as page; it does not list pages that do not list a datatype and default to this. Use special page "Properties"Lists properties and displays their usage for all properties in use in the wiki.
In earlier versions of Semantic MediaWiki (Semantic MediaWiki 1.0Released on 31 December 2007 and compatible with MW 1.9.x - 1.12.x. and earlier), properties of datatype "Page" were known as "relations".
Starting with Semantic MediaWiki 1.2.0Released on 10 July 2008 and compatible with MW 1.11.x - 1.14.x. it is also possible to link to pages on external websites using interwiki prefixes when annotating data like e.g.
[[Has page::sandbox:Interwiki links]] which results in sandbox:Interwiki links. In this case "sandbox" is the interwiki prefix defined for the sandbox site, which you will access when clicking on the link.
Page versus Text
You can use datatype Page in most cases where you would use datatype "Text". Making the property value a wiki page allows you to document each possible value in the wiki. It is not an error if there is no page yet for the value. Indeed, this can encourage consistency as links to non-existent pages appear differently. Viewing the page for a value in the Semantic Browser will show all the pages and relations for which it is the object.
Using datatype "Text" may be better in case the possible values of the property:
- are a large set
- do not have much useful documentation
|Table of comparison between properties of datatype "Page"Holds names of wiki pages, and displays them as a link and datatype "Text"Holds text of arbitrary length|
|Property of datatype "Page"||Property of datatype "Text"|
|Characters permitted||Value has the naming restrictions that apply to page titles in MediaWiki. See the documentation at MediaWiki.org.||Value may contain arbitrary text, including markup (such as that for bold and italic)|
|Length of value permitted||Value may not be longer than 255 bytes, again because of restrictions that apply to page titles in MediaWiki||Value may be longer than 255 bytes|
|Use of values in query statements|
|Support for equivalent values?||Value can be made an alias of another 'Page' value. This is achieved using MediaWiki's #REDIRECT syntax, which is used to forward users from a variant page title to the target page.||Value cannot be made an alias of another 'Text' value.|
|Wildcards||Value accepts wildcards in queries||Value accepts wildcards in queries|
|Number of characters searchable (using wildcards and comparators)||Value is searchable for all 255 bytes||Value is searchable for the first 40 characters (if more than 72 characters were stored as property value) or 72 characters (if a maximum of 72 characters were stored as property value).|
|Inverse querying||Yes, property allows for inverse querying. In this way, a list of unique property values can be retrieved.||No, property does not allow for inverse querying. To retrieve a set of unique property values, see some alternative approaches listed here, which may or may not offer a solution.|
|Annotating values||Value cannot itself be annotated. However, the page associated with a value may hold semantic annotations and so it can be the basis for extended queries such as subqueries. In addition, it can be the target for another property-value pair, making it queryable in different contexts.||Value cannot itself be annotated. However, it can be the target for another property-value pair, making it queryable in different contexts.|
|Appearance of values in printout statements|
|Appearance without special formatting||Value returned by a query normally appears as a page link.||Value returned by a query is rendered as-is in wiki text. This means that markup, such as that for bold and italic (see above), is usually rendered, although there may be exceptions.|
|Special formatting||Value can be de-linked by setting the query parameter link= (available in most result formats) to none. Additional formatting is usually achieved by means of templates.||Additional formatting is usually achieved by means of templates.|
|Service links||Property supports service links||Property does not support service links|
- API example