Diff: Help/SemanticSearchPlugin

Note: You are viewing an old revision of this page. View the current version.

Differences between version 4 and previous revision of Help/SemanticSearchPlugin.

Other diffs: Previous Major Revision, Previous Author

Newer page: version 4 Last edited on 22 May 2014 3:01 by harold Revert
Older page: version 3 Last edited on 9 September 2007 0:16 by harold Revert
@@ -1,27 +1,102 @@
-_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**  
+|  
+| true  
+|-  
+| **regex**  
+| no word splitting, if no regex op is present, defaults to exact match  
+| auto  
+|-  
+| **noform**  
+| don't show form with results.  
+| false  
+|-  
+| **noheader**  
+| no caption  
+| 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]]  
+  
+<noinclude>  
 ---- 
-PhpWikiDocumentation Help:WikiPlugin  
+[[ PhpWikiDocumentation]] [[CategoryWikiPlugin]]  
+</noinclude>  

version 4

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

true

regex

no word splitting, if no regex op is present, defaults to exact match

auto

noform

don't show form with results.

false

noheader

no caption

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