Help/SemanticSearchPlugin
Search for relations/attributes and its values.
page - relation::object. e.g list all cities: is_a::city => relation=is_a&s=city
We search for both a relation and if the search is valid for attributes also, and OR combine the result.
An attribute has just a value, which is a number, and which is for sure no pagename, and its value goes through some units unification. (not yet)
We can also do numerical comparison and unit lifting with attributes:
- population > 1000000
- population > 1 million
Limitation:
- The backends can already do simple AND/OR combination of multiple relations and attributes to search for. Just the UI not. TODO: implement the AND/OR buttons. population < 1 million AND area > 50 km2
- Due to attribute internals a relation search with matching attribute names will also find those attribute names, but not the values. You must explicitly search for attributes then.
The Advanced query can do a freeform query expression with multiple comparison and nesting.
- "is_a::city and population > 1.000.000 and population < 10.000.000"
- "(is_a::city or is_a::country) and population < 10.000.000"
Usage
<<SemanticSearch arguments>>
Arguments
All PageList arguments, plus the following ones:
Argument |
Description |
Default value |
---|---|---|
s |
linkvalue query string |
* |
page |
which pages (glob allowed) |
* (all) |
relation |
linkname. which relations. |
all |
attribute |
linkname. which attributes. |
all |
attr_op |
a funny written way for equality for pure aesthetic pleasure "All attributes which have this value set" |
:= |
units |
||
case_exact |
Boolean. If true, search with case exact. |
true |
regex |
no word splitting, if no regex op is present, defaults to exact match |
auto |
noform |
Boolean. If true, don't show form with results. |
false |
noheader |
Boolean. If true, header should be omitted. |
false |
info |
valid: pagename, relation, linkto, attribute, value and all other pagelist columns |
false |
Example
<<SemanticSearch>>