Ask API

From semantic-mediawiki.org
Jump to: navigation, search

The Ask API allows you to do ask queries against SMW using the MediaWiki API and get results back serialized in one of the formats it supports. There are 2 API modules that differ in how you specify the query, but have identical output of the query results.

Ask

The "ask" module supports one parameter, query, which takes the same string you'd feed into an #ask tag, but urlencoded.

Example
api.php?action=ask&query=[[Modification date::%2B]]|%3FModification date|sort%3DModification date|order%3Ddesc&format=jsonfm
run example

Askargs

The "askargs" module aims to take arguments in unserialized form, so with as little ask-specific syntax as possible. It supports 3 arguments:

  • "conditions": The query conditions, ie the requirements for a subject to be included
  • "printouts": The query printouts, ie the properties to show per subject
  • "parameters": The query parameters, ie all non-condition and non-printout arguments
Example
api.php?action=askargs&conditions=Modification%20date::%2B&printouts=Modification%20date&parameters=sort%3DModification%20date|order%3Ddesc&format=jsonfm
run example

Limit and offset

As in regular ask queries, both "limit" and "offset" are specified in the parameter list.

To get the first 10 results: &parameters=limit%3D10

The API result contains a "query-continue-offset" key, which can be used to fetch additional results: &parameters=offset%3D10|limit%3D10

If there is no "query-continue-offset" key in the result, the end of the result set was reached.

BrowseBySubject

The "browsebysubject" module allows to browse a subject, i.e. a page or subobject.

  • "subject": The title of the subject to be queried
Example
api.php?action=browsebysubject&subject=Main_Page
run example

Note Note: Browsing of a subobject subject is limited to its "parent" subject, meaning that a request for a "Foo#_ed5a9979db6609b32733eda3fb747d21" subject will produce information for "Foo" as a whole including its subobjects because MW's WebRequest (responsible for handling request data sent by a browser) will eliminate any fragments (indicated by "#") to an Api consumer.

SMWInfo

The "smwinfo" module enables to access statistical data information about the installed SMW basis.

Example
api.php?action=smwinfo&format=json&info=proppagecount|propcount|querycount|usedpropcount|declaredpropcount|conceptcount|querysize|subobjectcount|formatcount
run example

The parameter "formatcount" will output an array of used formats together with its count information available.

{
    "info": {
        "formatcount": {
            "datatables": 44,
            "list": 27,
            "jqplotchart": 15,
            "eventcalendar": 15,
            "gallery": 15,
            "jqplotseries": 13,
            "count": 2,
            "sum": 2,
            "rdf": 1
        }
    }
}

Serialization

External links

See also


This documentation page applies to all SMW versions from 1.7.0 to the most current version.
      Other languages: de

Ask API en 1.7.0