Difference between revisions of "Semantic MediaWiki"
(→code) |
|||
Line 9: | Line 9: | ||
===parser functions=== | ===parser functions=== | ||
SMW also uses a few standard-form parser functions: | SMW also uses a few standard-form parser functions: | ||
− | * | + | * #{{l/sub|ask}} |
* #declare | * #declare | ||
− | * | + | * #{{l/sub|info}} |
− | * #set | + | * #{{l/sub|set}} |
− | * | + | * #{{l/sub|set_recurring_event}} |
− | * | + | * #{{l/sub|show}} |
+ | |||
===code=== | ===code=== | ||
Notes on code, as I figure it out: | Notes on code, as I figure it out: |
Revision as of 21:02, 23 July 2020
About
Semantic MediaWiki (SMW) is an extension for MediaWiki that provides semantic markup capability.
This page is a seed article. You can help HTYP water it: make a request to expand a given page and/or donate to help give us more writing-hours!
|
pages
As the SMW code API is not yet stable or well-documented, it appears that going directly to the database may be the best way to utilize SMW data.
- /data: tables
parser functions
SMW also uses a few standard-form parser functions:
- #ask
- #declare
- #info
- #set
- #set_recurring_event
- #show
code
Notes on code, as I figure it out:
- classes:
- SMW\DIProperty
- SMW\DIWikiPage
- SMW\SemanticData - seems context-dependent, e.g. can instantiate from a Property object
- SMW\Store - how to instantiate?
Notes
- For MediaWiki deployments where initial characters in article titles are not automatically capitalized (the default is to capitalize them):
- In #ask queries, the word "Category" is case-sensitive;
[[category:...]]
will not work.
- In #ask queries, the word "Category" is case-sensitive;
- Special properties are also case-sensitive: e.g.
[[Has type:string]]
correctly references the special "Has type" property, but[[has type::string]]
refers only to a non-special "has type" property.
Syntax
SMW introduces a new syntactical structure of the form [[property name::property value]]
, which may optionally be written with a display parameter: [[property name::property value|display text]]
. Both of these formats cause the current page to be assigned the value property name with the value property value. The same value can be assigned to several properties with this syntax: [[property1 name::property2 name::value for both]]
.
To set a property without displaying anything, there are two alternative forms:
[[property name::property value| ]]
- In this form, the space between the "|" and "]]" is required)
{{#set:property name=property value}}
- This form allows brackets ("[" and "]") to be used in the property value; the other form does not.