Diff: Help/SemanticSearchPlugin

Differences between current version and predecessor to the previous major change of Help/SemanticSearchPlugin.

Other diffs: Previous Revision, Previous Author

Newer page: version 6 Last edited on 17 January 2022 3:00 by harold
Older page: version 5 Last edited on 9 September 2007 0:16 by harold Revert
@@ -1,27 +1,103 @@
-_short description_  
+Search for relations/attributes and its values.  
  
-! Usage  
-<verbatim>  
- <?plugin SemanticSearch ?>  
-</verbatim
+page - relation::object. e.g list all cities: is_a::city = > relation=is_a&s=city  
  
-! Arguments  
+We search for both a relation and if the search is valid for attributes also, and OR combine the result.  
  
-page _(default: current pagename)_:  
- The page to execute upon
+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)  
  
-! Example  
+We can also do numerical comparison and unit lifting with attributes:  
+* population > 1000000  
+* population > 1 million  
  
-<verbatim>  
-<?plugin SemanticSearch ? >  
-</verbatim>  
+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.  
  
-<?plugin SemanticSearch ?
+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"  
  
-! Author  
-PhpWiki:ReiniUrban  
+== Usage ==  
  
-! See Also  
+{{{  
+<<SemanticSearch arguments>>  
+}}}  
  
+== Arguments ==  
+  
+All [[Help:PageList|PageList]] arguments, plus the following ones:  
+  
+{| class="bordered"  
+|-  
+! 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>>  
+}}}  
+  
+<<SemanticSearch>>  
+  
+== Author ==  
+* [[Help:Reini Urban|Reini Urban]]  
+  
+== See Also ==  
+* [[Help:TitleSearchPlugin]]  
+* [[Help:FullTextSearchPlugin]]  
+* [[Help:ExternalSearchPlugin]]  
+* [[Help:InterWikiSearchPlugin]]  
+* [[Help:LinkSearchPlugin]]  
+  
+<noinclude>  
 ---- 
-PhpWikiDocumentation Help:WikiPlugin  
+[[ PhpWikiDocumentation]] [[CategoryWikiPlugin]]  
+</noinclude>  

current version

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.

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>>
Search in pages for a relation with that value (a pagename).
Pagefilter Relation Links
: ::   
Search in pages for an attribute with that numeric value.
Pagefilter Attribute Op Value
:   

Author

See Also