You do not have permission to edit this page, for the following reason:
Free text:
<!-- <pageby nominor="false" comments="false"/> --> == Introduction == '''Semantic Result Formats''' (SRF) is a MediaWiki extension, used in conjunction with the [[Semantic MediaWiki]] extension, that bundles a number of further result formats for SMW's inline queries. The individual formats can be added to the installation independently. ([http://www.mediawiki.org/wiki/Extension:Semantic_Result_Formats Mediawiki.org extension page], June 12 2013). For installation tips, read the [[Semantic MediaWiki]] article, i.e. we suggest to use the composer dependency manager. In order to understand result formats, you must understand how to formulate queries. The [[Semantic MediaWiki]] page includes a short introduction. Better, read [http://semantic-mediawiki.org/wiki/Help:Semantic_search the official documentation], in particular: [http://semantic-mediawiki.org/wiki/Help:Selecting_pages Selecting pages]. In a nutshell, you should know that queries return lists of pages or lists of pages with lists of property values. Examples in this page use "real" data, i.e. all the properties/values defined in the pages of the [[:category:MediaWiki extension|MediaWiki extension category]]. By the way, in this wiki, most property values are defined through templates using [[Semantic Forms]]. === Ordinary SMW result formats === By default, SMW already includes a series of result formats as [http://semantic-mediawiki.org/wiki/Help:Result_formats documented here]. Of particular interest for creating wiki pages are: * The '''table''' format. The default format for queries that include at least one property to display. See an example below. * The '''list''' format. The default format for queries that do not include properties to display. See an example below. * The '''ul''' and '''ol''' extend the list format to numbered and bulleted lists with additional output shown in parenthesis * The '''template''' format. Allows to use templates for custom formatting In addition, there is a whole range of formats meant for download. For example * The CSV format could be useful for exporting a query result for further analysis All or (most?) formats '''share the same base parameters''': {{#smwdoc:table|parameters=base}} The most important parameter could be '''mainlabel'''. Use <source lang="bibtex">mainlabel=-</source> to suppress printing the first result column which is the wiki page that includes a matching query <source lang="bibtex"> mainlabel=Some sort of title</source> to add a title to the first column. Supressing the first column is something that also applies to charts produced by Semantic Result Formats extensions ! Do not forget ! === The table format === Below is a simple example of a table with three columns: Names of matched pages (i.e. all pages in the category) and values of the ''Is developed by'' and ''Is related to'' properties found in these pages. This code: <source lang="perl"> {{#ask: [[Category:MediaWiki extension]] | ?Is developed by | ?Is related to | limit=3 }} </source> ... will produce this table: {{#ask: [[Category:MediaWiki extension]] | ?Is developed by | ?Is related to | limit=3 }} The table format can take additional parameters. {{#smwdoc:table}} Now, semantic Result Formats adds other visualization types. Most of these are based on various JavaScript libraries, such as D3. Read on .... === List format === The list format takes the following extra parameters: {{#smwdoc:list}} The following query gets all pages in the ''MediaWiki extension'' and displays both the hit (i.e. the page) and the value of ''Is developed by'' property: <source lang="bibtex"> list of names: {{#ask: [[Category:MediaWiki extension]] | ?Is developed by | format=list }} </source> ... will produce this list of names: {{#ask: [[Category:MediaWiki extension]] | ?Is developed by | format=list }} You can see that we have to require list format, else we would have gotten a table The following query gets all pages in the ''MediaWiki extension'' that include a ''Is developed by'' property. It will only display the (useless) ''Is developed by'' values. <source lang="bibtex"> list of names: {{#ask: [[Is developed by::+]][[Category:MediaWiki extension]] |?Is developed by |mainlabel=- }} </source> ... will produce this list of names: {{#ask: [[Is developed by::+]][[Category:MediaWiki extension]] |?Is developed by |mainlabel=- }} '''List format on steroids''' For custom formatting, use templates. Read the official [http://semantic-mediawiki.org/wiki/Help:Template_format Template format] documentation. === The CSV format === In addition to the base parameters, the CSV format takes the following: {{#smwdoc:csv}} The following produces a downloadable CSV file using the default comma (,) separator: <source lang="bibtex"> Download: {{#ask: [[Category:MediaWiki extension]] | ?Depends on | ?Is developed by | ?Has status | ?Is related to | format=CSV }} </source> Download: {{#ask: [[Category:MediaWiki extension]] | ?Depends on | ?Is developed by | ?Has status | ?Is related to | format=CSV }} === Using templates === [http://semantic-mediawiki.org/wiki/Help:Template_format Template format] can be used to taylor output, for example: * Changing the order in which output is displayed, or omitting or duplicating output; * Displaying images depending on query results; * Creating links for property values; * Using CSS styles to vary font-size, alignment, background-color, etc. by column in tables. == Examples of Semantic Result Formats == I.e. (some of) the ones we use here ... Extensions to SMW can add other result formats. All (or most) of these display formats can be obtained with this extension. However, you will have to pay attention to the configuration parameters, i.e. by default, not all Semantic Result Formats are available if you just install and load this extension. Some JavaScript libraries have to be enabled. Also, for many types of graphics, you will have to use to the <code>distribution=yes</code> parameter. Notice that the #smwdoc parser function allows for automatic parameter documentation generation for all result formats. E.g. if you are tired of looking up documentation at smenatic-mediawiki.org, you could insert something like <nowiki>{{#smwdoc:table}}</nowiki> in a wiki, page like we did here (look at the source of this page) === Simple lists === There are three variants: outline, ol and ul Outline format {{#smwdoc:outline}} ol format {{#smwdoc:ol}} This code <source lang="perl"> {{#ask: [[Category:Software information]] | ?Is developed by | format=outline }} </source> produces this: {{#ask: [[Category:Software information]] | ?Is developed by | format=outline }} This code <source lang="perl"> {{#ask: [[Category:Software information]] | ?Is developed by | format=ol }} </source> produces this: {{#ask: [[Category:Software information]] | ?Is developed by | format=ol }} [[category: Semantic Mediawiki]] === Tagcloud === {{#smwdoc:tagcloud}} The following: <source lang="perl"> {{#ask: [[Category:MediaWiki extension]] | ?Is developed by | format=tagcloud }} </source> produces: ---- {{#ask: [[Category:MediaWiki extension]] | ?Is developed by | format=tagcloud }} ---- The following: <source lang="perl"> {{#ask: [[Category:MediaWiki extension]] | ?Is developed by | format=tagcloud | widget=wordcloud }} </source> produces: {{#ask: [[Category:MediaWiki extension]] | ?Is developed by | format=tagcloud | widget=wordcloud }} === D3 Bubble chart === Official documentation: * [http://www.semantic-mediawiki.org/wiki/Help:D3_chart_format Help: D3 chart format] * [http://www.semantic-mediawiki.org/wiki/Demo:D3chart/Bubble_chart Demo: D3 bubble chart] List of parameters: {{#smwdoc:d3chart}} <source lang="bibtex"> {{#ask: [[Category:MediaWiki extension]] | ?Is developed by |format=d3chart |distribution=yes |mainlabel=- |charttype=bubble |headers=show |link=all |charttitle= SMW developers |datalabels=chart }} </source> Notice the use of the following parameters: * ''distribution=yes'' will count occurences * ''mainlabel=-'' will exclude the count of the pages themselves We roughly get the same information as in the word cloud. {{#ask: [[Category:MediaWiki extension]] | ?Is developed by |format=d3chart |distribution=yes |mainlabel=- |charttype=bubble |headers=show |link=all |charttitle= SMW developers |datalabels=chart }} The result of not using ''mainlabel=-'' is below: <source lang="bibtex"> {{#ask: [[Category:MediaWiki extension]][[Is developed by::+]] | ?Is developed by |format=d3chart |distribution=yes |charttype=bubble |headers=show |link=all |charttitle= SMW developers |datalabels=chart }} </source> Useless resulting chart: {{#ask: [[Category:MediaWiki extension]][[Is developed by::+]] | ?Is developed by |format=d3chart |distribution=yes |charttype=bubble |headers=show |link=all |charttitle= SMW developers and wiki pages with developers |datalabels=chart }} === JqPlotChart === The ''Jpplotchart'' result format allows to create five different types of charts: '''bar, line, donut, bubble and scatter'''. Each of these requires a certain data model. Data sets can grouped depending of its source. Read [http://semantic-mediawiki.org/wiki/Help:Jqplotseries_format Help:Jqplotseries format] This extension has many parameters. Some only make sense with certain types of charts. {{#smwdoc:jqplotchart}} The following example doesn't use numerical data values, but counts occurences using the parameter ''distribution=yes''- ==== Donuts ==== <source lang="bibtex"> {{#ask:[[Category:MediaWiki extension]][[Is related to::+]] |?Is related to |mainlabel=- |format=jqplotchart |charttype=donut |chartlegend=e |charttitle= Related extensions (%) |distribution=yes |width=33% |datalabels=percent }} </source> {{#ask:[[Category:MediaWiki extension]][[Is related to::+]] |?Is related to |mainlabel=- |format=jqplotchart |charttype=donut |chartlegend=e |charttitle= Related extensions (%) |distribution=yes |width=40% |datalabels=percent }} ==== Bar chart ==== <source lang="bibtex"> {{#ask:[[Category:MediaWiki extension]][[Is related to::+]] |?Is related to |mainlabel=- |format=jqplotchart |charttype=bar |charttitle= Related extensions |distribution=yes |width=33% |datalabels=percent }} </source> {{#ask:[[Category:MediaWiki extension]][[Is related to::+]] |?Is related to |mainlabel=- |format=jqplotchart |charttype=bar |charttitle= Related extensions |distribution=yes |width=40% |datalabels=percent }} To display more than one property in a chart, it's probably best to group (else you get all the data in the same ring or bar). However, you need numerical data for that (I believe ...) === Using templates === '''Achievement badges''' The following code was used to dislay achievement badges for the [[:fr:Bases psychopédagogiques des technologies éducatives|Bases psychopédagogiques des technologies éducatives]] in the french sister site. Query example that could be inserted in a user page: <source lang="bibtex" enclose="div"> {{#ask: [[REPORTING:+]] [[catégorie_principale::catégorie:Bases psychopédagogiques des technologies éducatives]] [[a intention de produire::vrai]] [[A taux_d'achèvement::100]] [[Agent::user:{{PAGENAME}}]] |? agent |? page wiki |? A taux_d'achèvement |? Promotion | distribution=yes | mainlabel=- | format=template | template=badge screencast completed | userparam=show_page | default=Vous n'avez pas encore gagné de badge(s) d'achèvement. }} </source> Code for the [http://edutechwiki.unige.ch/fr/Mod%C3%A8le:Badge_screencast_completed badge screencast completed] template <source lang="bibtex" enclose="div"> <includeonly> <div class="badge"> [[image:badge_screencast_completed.png|128px]] <div class="appear"> '''Badge d'achèvement'''<br/> Carte conceptuelle et infographie «{{{2|}}}» complétées par {{{1|}}} - {{{3|}}} % Délivré par [[user:Daniel K. Schneider|DKS]], EduTechWiki(fr), [http://tecfa.unige.ch TECFA], [http://www.unige.ch UNIGE], cours [[Bases psychopédagogiques des technologies éducatives|Bases]], promotion {{{4|}}}</div> {{#ifeq:{{{userparam}}}|show_user|<span style="font-size:smaller">{{{1}}}</span>|}}{{#ifeq:{{{userparam}}}|show_page|<span style="font-size:smaller">{{{2}}}</span>|}}</div> </includeonly> </source> '''Tables with pictures''' * [[template: table with image]] used by [[Template:Data_mining_and_learning_analytics_tools_query]], used to produce the [[List of data mining and learning analytics tools]] <source lang="bibtex" enclose="div"> {{#ask: [[Category:data mining and learning analytics tools]] [[Analysis orientation::General analysis]] | ?Has logo #- | ?Has name = Name | ?Has last revision number= | ?Was last released on#iso | ?License type = License | ?Data tool type = Tool type | ?Data manipulation type = | ?Has website= | ?Last edition= | mainlabel=General purpose analysis | format=template | template= Table with image | introtemplate= Table with image/intro | outrotemplate= CS Table with img/outro | limit=3 |}} </source> produces: {{#ask: [[Category:data mining and learning analytics tools]] [[Analysis orientation::General analysis]] | ?Has logo #- | ?Has name = Name | ?Has last revision number= | ?Was last released on#iso | ?License type = License | ?Data tool type = Tool type | ?Data manipulation type = | ?Has website= | ?Last edition= | mainlabel=General purpose analysis |format=template | template= Table with image | introtemplate= Table with image/intro | outrotemplate= CS Table with img/outro | limit=3 |}} == Tips == === Getting it to work with MW 1.24 === # Install like for 1.22+ as explained in the [http://semantic-mediawiki.org/wiki/Semantic_Result_Formats#Installation official doc]. Make sure to install recent GraphViz and Image Map extensions. # Fix a JQuery problem: As explained in the [https://github.com/wikimedia/mediawiki-core/blob/master/RELEASE-NOTES-1.24#L48 release notes for MW 1.24], jQuery was upgraded from 1.8.3 to 1.11.1. This will break the jqplot library. To fix the problem, do the two following: * Add <code>$wgIncludejQueryMigrate = true;</code> to LocalSettings.php === Doesn't seem to take all data === By default an inline query made with #ask only returns 50 results. This number can be misleading. If you do a query that aggregates pages (using distribution, sum, count, etc.), "limit" concerns the number of the pages you will retrieve before passing their data to a result format. Limit does not specify the number of pages (or other elements) that are on display ! This behavior can be changed by setting [https://www.semantic-mediawiki.org/wiki/Help:Configuration#smwgQDefaultLimit smwgQDefaultLimit] to higher value in LocalSettings.php Alternatively, use <code>limit=''</code> in the query. In the example below, we will see '''one''' chart element for each page, but there is a huge multiple of pages found. If limit is too low, results will simply be wrong ! <source lang="bibtex"> {{#ask: [[REPORTING:+]] [[agent::+]] [[catégorie_principale::catégorie:Bases psychopédagogiques des technologies éducatives]] |?agent |mainlabel=- |distribution=yes |format=d3chart |charttype=treemap |height=800 |width=100% |headers=show |link=all |min=1 |limit=500 |charttitle= N pages annotées |datalabels=chart </source> == Links == '''Official''' * [http://www.semantic-mediawiki.org/wiki/Help:Result_formats List of Result formats] '''Tutorials''' * [http://tiagoferreira.nome.pt/blog/archives/264 SMW’s Semantic Result Formats – Jqplotchart/Jqplotseries format – A guide] by Tiago Ferreira. It includes live example that you can see in a [http://tiagoferreira.nome.pt/wiki/index.php?title=Main_Page demo wiki]
Save page Show preview Show changes Cancel