Help:Table format

From semantic-mediawiki.org
Help:Table formatTable format/zh-hans
Table format
Outputs the results in a table (default for queries with printout statements).
Further Information
Provided by: Semantic MediaWiki
Added: 0.4
Removed: still supported
Requirements: none
Format name: table
Enabled? Indicates whether the result format is enabled by default upon installation of the respective extension. yes
Authors: Markus Krötzsch
Categories: misc
Table of Contents

The result format table is used to format query results as tables. It is Semantic MediaWiki's default way of formatting query results for all queries that have one or more additional printout statements. It is almost identical to result format "Broadtable"Outputs the results in a broad table..

Parameters[edit]

General[edit]

Parameter Type Default Description
source text empty Alternative query source
limit whole number 50 The maximum number of results to return
offset whole number 0 The offset of the first result
link text all Show values as links
sort list of texts empty Property to sort the query by
order list of texts empty Order of the query sort
headers text show Display the headers/property names
mainlabel text no The label to give to the main page name
intro text empty The text to display before the query results, if there are any
outro text empty The text to display after the query results, if there are any
searchlabel text ... further results Text for continuing the search
default text empty The text to display if there are no query results
Tip: Parameter "headers=hide" is specifically useful for hiding the header of tables. In most other cases, it is sufficient to use empty printout labels to hide the titles of printout statements.

Format specific[edit]

Parameter Type Default Description
class text sortable wikitable smwtable An additional CSS class to set for the table
transpose yes/no no Display table headers vertically and results horizontally
sep text empty The separator between results
Semantic MediaWiki 3.0.0Released on 11 October 2018 and compatible with MW 1.27.0 - 1.31.x. introduced a set of predefined classes supporting a datatable output1 which allows to search the table and to display more results without bloating the display of the table on the wiki page.23
  • Possible options for parameter "class" are: datatable, datatable compact, datatable cell-border or the combination datatable compact cell-border.4. These classes makes use of the "DataTables" table plug-in for jQuery5.
  • Using these classes produces a basic output as offered by result format "Datatables"Provides a complete porting of DataTables JavaScript library into Semantic MediaWiki provided by extension "Semantic Result Formats"Provides additional formats for semantic queries which also makes use of the "DataTables" table plug-in for jQuery. The latter is however more powerful in its usage.2

Semantic MediaWiki 3.1.0Released on 23 September 2019 and compatible with MW 1.31.0 - 1.33.x. brought the smwtable-clean class allowing for another alternative to the wikitable smwtable class combination.6

Sorting[edit]

Tables have a special feature for sorting their contents by any of the columns in the table. See Selecting pages for general comments on sorting and a comparison to the wiki's query result sorting. Browsers without JavaScript enabled will not see the buttons for sorting at all.

Examples[edit]

The following examples demonstrate the output of simple queries using different classes for generating the respective overall appearance of the table.

sortable wikitable smwtable[edit]

This is the default class for queries with printout statements and does not need to be specified explicitly. Same for specifying the format to be used, i.e. format=table which is the default for queries with printout statements.

Syntax
{{#ask:
 [[Category:City]]
 [[Located in::Germany]] 
 |?Population
 |?Area#km²=Size
 |mainlabel=City
 |sort=Population
 |order=descending
 |headers=plain
}}
Result
CityPopulationSize
Berlin3,520,061891.85 km²344.34 sqmi <br />
Munich1,353,186310.43 km²119.86 sqmi <br />
Cologne1,080,394405.02 km²156.38 sqmi <br />
Frankfurt679,664248.31 km²95.87 sqmi <br />
Stuttgart606,588207.35 km²80.06 sqmi <br />
Würzburg126,63587.63 km²33.83 sqmi <br />

smwtable-clean[edit]

Available since Semantic MediaWiki 3.1.0Released on 23 September 2019 and compatible with MW 1.31.0 - 1.33.x..6 The format to be used (format=table) does not need to be specified explicitly since it is the default for queries with printout statements. It can be combined with class sortable provided by MediaWiki core as a utility allowing users to control the sorting of the columns contents (class=smwtable-clean sortable).

Syntax
{{#ask:
 [[Category:City]]
 [[Located in::Germany]] 
 |?Population
 |?Area#km²=Size
 |mainlabel=City
 |sort=Population
 |order=descending
 |headers=plain
 |class=smwtable-clean
}}
Result
CityPopulationSize
Berlin3,520,061891.85 km²344.34 sqmi <br />
Munich1,353,186310.43 km²119.86 sqmi <br />
Cologne1,080,394405.02 km²156.38 sqmi <br />
Frankfurt679,664248.31 km²95.87 sqmi <br />
Stuttgart606,588207.35 km²80.06 sqmi <br />
Würzburg126,63587.63 km²33.83 sqmi <br />

datatable[edit]

Available since Semantic MediaWiki 3.0.0Released on 11 October 2018 and compatible with MW 1.27.0 - 1.31.x..1 The format to be used (format=table) does not need to be specified explicitly since it is the default for queries with printout statements. See below for more related classes.

Syntax
{{#ask:
 [[Category:City]]
 [[Located in::Germany]] 
 |?Population
 |?Area#km²=Size
 |mainlabel=City
 |sort=Population
 |order=descending
 |headers=plain
 |class=datatable
}}
Result

More ...[edit]

Appearance[edit]

Applying CSS formatting[edit]

As of Semantic MediaWiki 1.6.2Released on 20 September 2011 and compatible with MW 1.15.x - 1.18.x. the native MediaWiki sortable tables are used. Thus this format now provides several ways for custom formatting to be applied to tables:

  • One or more overall CSS classes can be set for the table, using the "class=" parameter.
  • Each column in the table gets a class name that derives from the column name. For instance, if a column is titled "Capital city", the column's class will be "Capital-city".
  • Rows in the table each get either the class "row-odd" or "row-even", depending on whether the row is odd or even.

In this way, specific formatting, like colors and font sizes, can be set across a single table, or for a specific column, or can be set for alternating rows. The recommended way to set any custom CSS in the wiki is by modifying the page "MediaWiki:Common.css".

Example for alternating row colours

The example below will result in the display of alternating rows.

/* even and odd in tables */
.smwtable .row-even {
    background-color: #fff;
}
.smwtable .row-odd {
    background-color: #cde6ea;
}
Data value type attributes

Semantic MediaWiki 1.9.0Released on 3 January 2014 and compatible with MW 1.19.0 - 1.22.x. introduces type related attribution allowing to apply specific formatting rules based on the datatype uses (data value types like "_dat", "_num" etc.) used in a column.7

The class attribute is a concatenated string that includes "smwtype" + "datavalue typeId" resulting in "smwtype_dat" for the data value of datatype "Date". If you want all numeric representations (prerequisite is that the property selected for display is of datatype "Number") in a table to be formatted on the right side, you would need to add:

/* DataValue type formatting */
.smwtable .smwtype_num {
    text-align: right;
}

Predefined datatable classes[edit]

In contrast to result format "Datatables"Provides a complete porting of DataTables JavaScript library into Semantic MediaWiki, Semantic MediaWiki 3.0.0Released on 11 October 2018 and compatible with MW 1.27.0 - 1.31.x. introduced a set of predefined classes supporting a datatable output1 in the table format which allows to search the table and to display more results without bloating the display of the table on the wiki page.23

Possible options for parameter "class" are:

  • datatable,
  • datatable compact,
  • datatable cell-border or the combination of the previous two
  • datatable compact cell-border.4.

These classes makes use of the "DataTables" table plug-in for jQuery5. Using these classes produces a basic output as offered by result format "Datatables"Provides a complete porting of DataTables JavaScript library into Semantic MediaWiki provided by extension "Semantic Result Formats"Provides additional formats for semantic queries which also makes use of the "DataTables" table plug-in for jQuery. The latter is however more powerful in its usage. 2

The features of this class are

  • nicer visual appearance
  • search input box for searching within the table
  • easy export of the table's content into CSV, JSON, RSS and RDF

Custom skins[edit]

If you are using custom skins other class attributes may be available. E. g. if you use a skin that implements boostrap, you can use class attributes such as

  • table table-hover table-condensed
  • table table-hover table-condensed table-responsive sortable
There are specialized result formats with more features for exporting data than the ones selectably via applying on of the "datatable" classes. See result format "CSV"Outputs results in Windows-style Comma Separated Value format., result format "JSON"Outputs results in JSON-based serialisations., result format "Feed"Exports results as RSS and Atom feeds. and result format "RDF"Exports results in RDF-based serialisations..





References

  1. a b c  Semantic MediaWiki: GitHub pull request gh:smw:2420
  2. a b c d  Semantic MediaWiki: GitHub issue comment gh:smw:2420:294453317
  3. a b  Semantic MediaWiki: Sandbox example sb:smw:2420:1
  4. a b  Semantic MediaWiki: Sandbox example sb:smw:2420:2
  5. a b  " - A tables plug-in for jQuery.
  6. a b  Semantic MediaWiki: GitHub pull request gh:smw:4048
  7. ^  
    Gerrit commit gerrit:smw:53520