Difference between revisions of "Index Module"

From BaseX Documentation
Jump to navigation Jump to search
m (Text replace - "[[XQuery Modules" to "[[Module Library")
(44 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This [[Module Library|XQuery Module]] provides functions for displaying information stored in the database index structures. All functions are introduced with the {{Mono|index:}} prefix, which is linked to the statically declared {{Mono|http://basex.org/modules/index}} namespace.
+
This [[Module Library|XQuery Module]] provides functions for displaying information stored in the database index structures.
  
=Commonalities=
+
For functions that use the indexes to return nodes see [[Database_Module#Value_Indexes|Value Indexes]] in the [[Database Module]] and {{Function|Full-Text|ft:search}} in the [[Full-Text Module]].
  
All functions share {{Mono|$db}} as argument, which may either reference a string, denoting the name of the addressed database, or a node from an already opened database. The following errors may be raised by all functions:
+
=Conventions=
  
* <b>[[XQuery Errors#BaseX Errors|BASX0001]]</b> is raised if the index required by a function is not available.
+
All functions and errors in this module are assigned to the <code><nowiki>http://basex.org/modules/index</nowiki></code> namespace, which is statically bound to the {{Code|index}} prefix.<br/>
* <b>[[XQuery Errors#BaseX Errors|BASX0002]]</b> is raised if {{Mono|$db}} references a node that is not stored in a database (i.e., references a main-memory XML fragment).
 
* <b>[[XQuery Errors#BaseX Errors|BASX0003]]</b> is raised if the addressed database cannot be opened.
 
  
 
=Functions=
 
=Functions=
  
 
==index:facets==
 
==index:facets==
{|
+
 
 +
{| width='100%'
 
|-
 
|-
| valign='top' width='90' | '''Signatures'''
+
| width='120' | '''Signatures'''
|{{Mono|<b>index:facets</b>($db as item()) as xs:string}}<br/>{{Mono|<b>index:facets</b>($db as item(), $type as xs:string) as xs:string}}
+
|{{Func|index:facets|$db as xs:string|xs:string}}<br/>{{Func|index:facets|$db as xs:string, $type as xs:string|xs:string}}
 
|-
 
|-
| valign='top' | '''Summary'''
+
|'''Summary'''
|Returns information about possible facets and facet values on a database in document structure format.<br/>If {{Mono|$type}} is specified as {{Mono|flat}}, the function returns this information in a flat summarized version.
+
|Returns information about all facets and facet values of the database {{Code|$db}} in document structure format.<br/>If {{Code|$type}} is specified as {{Code|flat}}, the function returns this information in a flat summarized version. The returned data is derived from the [[Indexes#Path Index|Path Index]].
 
|-
 
|-
| valign='top' | '''Examples'''
+
|'''Errors'''
 +
|{{Error|db:open|Database Module#Errors}} The addressed database does not exist or could not be opened.
 +
|-
 +
|'''Examples'''
 
|
 
|
* {{Mono|index:facets("DB")}} returns information about facets and facet values on the database {{Mono|DB}} in document structure.
+
* {{Code|index:facets("DB")}} returns information about facets and facet values on the database {{Code|DB}} in document structure.
* {{Mono|index:facets("DB", "flat")}} returns information about facets and facet values on the database {{Mono|DB}} in a summarized flat structure.
+
* {{Code|index:facets("DB", "flat")}} returns information about facets and facet values on the database {{Code|DB}} in a summarized flat structure.
 
|}
 
|}
  
 
==index:texts==
 
==index:texts==
{|
+
 
 +
{| width='100%'
 +
|-
 +
| width='120' | '''Signatures'''
 +
|{{Func|index:texts|$db as xs:string|element(value)*}}<br/>{{Func|index:texts|$db as xs:string, $prefix as xs:string|element(value)*}}<br/>{{Func|index:texts|$db as xs:string, $start as xs:string, $ascending as xs:boolean|element(value)*}}
 
|-
 
|-
| valign='top' width='90' | '''Signatures'''
+
|'''Summary'''
|{{Mono|<b>index:texts</b>($db as item()) as element(value)*}}<br/>{{Mono|<b>index:texts</b>($db as item(), $prefix as xs:string) as element(value)*}}
+
|Returns all strings stored in the [[Indexes#Text Index|Text Index]] of the database {{Code|$db}}, along with their number of occurrences.<br/>If {{Code|$prefix}} is specified, the returned entries will be refined to the ones starting with that prefix.<br/>If {{Code|$start}} and {{Code|$ascending}} are specified, all nodes will be returned after or before the specified start entry.
 
|-
 
|-
| valign='top' | '''Summary'''
+
|'''Errors'''
|Returns all strings stored in the text index, along with their number of occurrences.<br/>If {{Mono|$prefix}} is specified, the returned nodes will be refined to the strings starting with that prefix.
+
|{{Error|db:open|Database Module#Errors}} The addressed database does not exist or could not be opened.<br/>{{Error|db:no-index|Database Module#Errors}} the index is not available.
 
|}
 
|}
  
 
==index:attributes==
 
==index:attributes==
{|
+
 
 +
{| width='100%'
 
|-
 
|-
| valign='top' width='90' | '''Signatures'''
+
| width='120' | '''Signatures'''
|{{Mono|<b>index:attributes</b>($db as item()) as element(value)*}}<br/>{{Mono|<b>index:attributes</b>($db as item(), $prefix as xs:string) as element(value)*}}
+
|{{Func|index:attributes|$db as xs:string|element(value)*}}<br/>{{Func|index:attributes|$db as xs:string, $prefix as xs:string|element(value)*}}<br/>{{Func|index:attributes|$db as xs:string, $start as xs:string, $ascending as xs:boolean|element(value)*}}
 
|-
 
|-
| valign='top' | '''Summary'''
+
|'''Summary'''
|Returns all strings stored in the attribute index, along with their number of occurrences.<br/>If {{Mono|$prefix}} is specified, the returned nodes will be refined to the strings starting with that prefix.
+
|Returns all strings stored in the [[Indexes#Attribute Index|Attribute Index]] of the database {{Code|$db}}, along with their number of occurrences.<br/>If {{Code|$prefix}} is specified, the returned entries will be refined to the ones starting with that prefix.<br/>If {{Code|$start}} and {{Code|$ascending}} are specified, all nodes will be returned after or before the specified start entry.
 +
|-
 +
|'''Errors'''
 +
|{{Error|db:open|Database Module#Errors}} The addressed database does not exist or could not be opened.<br/>{{Error|db:no-index|Database Module#Errors}} the index is not available.
 +
|}
 +
 
 +
==index:tokens==
 +
 
 +
{| width='100%'
 +
|-
 +
| width='120' | '''Signatures'''
 +
|{{Func|index:tokens|$db as xs:string|element(value)*}}
 +
|-
 +
|'''Summary'''
 +
|Returns all strings stored in the [[Indexes#Token Index|Token Index]] of the database {{Code|$db}}, along with their number of occurrences.
 +
|-
 +
|'''Errors'''
 +
|{{Error|db:open|Database Module#Errors}} The addressed database does not exist or could not be opened.<br/>{{Error|db:no-index|Database Module#Errors}} the index is not available.
 
|}
 
|}
  
 
==index:element-names==
 
==index:element-names==
{|
+
 
 +
{| width='100%'
 
|-
 
|-
| valign='top' width='90' | '''Signatures'''
+
| width='120' | '''Signatures'''
|{{Mono|<b>index:element-names</b>($db as item()) as element(value)*}}
+
|{{Func|index:element-names|$db as xs:string|element(value)*}}
 
|-
 
|-
| valign='top' | '''Summary'''
+
|'''Summary'''
|Returns all element names stored in the index, along with their number of occurrences.
+
|Returns all element names stored in the [[Indexes#Name Index|Name Index]] of the database {{Code|$db}}, along with their number of occurrences.
 +
|-
 +
|'''Errors'''
 +
|{{Error|db:open|Database Module#Errors}} The addressed database does not exist or could not be opened.
 
|}
 
|}
  
 
==index:attribute-names==
 
==index:attribute-names==
{|
+
 
 +
{| width='100%'
 +
|-
 +
| width='120' | '''Signatures'''
 +
|{{Func|index:attribute-names|$db as xs:string|element(value)*}}
 
|-
 
|-
| valign='top' width='90' | '''Signatures'''
+
|'''Summary'''
|{{Mono|<b>index:attribute-names</b>($db as item()) as element(value)*}}
+
|Returns all attribute names stored in the [[Indexes#Name Index|Name Index]] of the database {{Code|$db}}, along with their number of occurrences.
 
|-
 
|-
| valign='top' | '''Summary'''
+
|'''Errors'''
|Returns all attribute names stored in the index, along with their number of occurrences.
+
|{{Error|db:open|Database Module#Errors}} The addressed database does not exist or could not be opened.
 
|}
 
|}
  
 
=Changelog=
 
=Changelog=
  
The module was introduced with {{Version|7.1}}.
+
;Version 8.4
 +
 
 +
* Added: [[#index:tokens|index:token]]
 +
 
 +
;Version 7.7
 +
 
 +
* Updated: the functions no longer accept [[Database Module#Database Nodes|Database Nodes]] as reference. Instead, the name of a database must now be specified.
 +
 
 +
;Version 7.3
 +
 
 +
* Updated: [[#index:texts|index:texts]], [[#index:attributes|index:attributes]]: signature with three arguments added.
  
[[Category:XQuery]]
+
The module was introduced with Version 7.1.

Revision as of 12:48, 7 June 2018

This XQuery Module provides functions for displaying information stored in the database index structures.

For functions that use the indexes to return nodes see Value Indexes in the Database Module and ft:search in the Full-Text Module.

Conventions

All functions and errors in this module are assigned to the http://basex.org/modules/index namespace, which is statically bound to the index prefix.

Functions

index:facets

Signatures index:facets($db as xs:string) as xs:string
index:facets($db as xs:string, $type as xs:string) as xs:string
Summary Returns information about all facets and facet values of the database $db in document structure format.
If $type is specified as flat, the function returns this information in a flat summarized version. The returned data is derived from the Path Index.
Errors db:open: The addressed database does not exist or could not be opened.
Examples
  • index:facets("DB") returns information about facets and facet values on the database DB in document structure.
  • index:facets("DB", "flat") returns information about facets and facet values on the database DB in a summarized flat structure.

index:texts

Signatures index:texts($db as xs:string) as element(value)*
index:texts($db as xs:string, $prefix as xs:string) as element(value)*
index:texts($db as xs:string, $start as xs:string, $ascending as xs:boolean) as element(value)*
Summary Returns all strings stored in the Text Index of the database $db, along with their number of occurrences.
If $prefix is specified, the returned entries will be refined to the ones starting with that prefix.
If $start and $ascending are specified, all nodes will be returned after or before the specified start entry.
Errors db:open: The addressed database does not exist or could not be opened.
db:no-index: the index is not available.

index:attributes

Signatures index:attributes($db as xs:string) as element(value)*
index:attributes($db as xs:string, $prefix as xs:string) as element(value)*
index:attributes($db as xs:string, $start as xs:string, $ascending as xs:boolean) as element(value)*
Summary Returns all strings stored in the Attribute Index of the database $db, along with their number of occurrences.
If $prefix is specified, the returned entries will be refined to the ones starting with that prefix.
If $start and $ascending are specified, all nodes will be returned after or before the specified start entry.
Errors db:open: The addressed database does not exist or could not be opened.
db:no-index: the index is not available.

index:tokens

Signatures index:tokens($db as xs:string) as element(value)*
Summary Returns all strings stored in the Token Index of the database $db, along with their number of occurrences.
Errors db:open: The addressed database does not exist or could not be opened.
db:no-index: the index is not available.

index:element-names

Signatures index:element-names($db as xs:string) as element(value)*
Summary Returns all element names stored in the Name Index of the database $db, along with their number of occurrences.
Errors db:open: The addressed database does not exist or could not be opened.

index:attribute-names

Signatures index:attribute-names($db as xs:string) as element(value)*
Summary Returns all attribute names stored in the Name Index of the database $db, along with their number of occurrences.
Errors db:open: The addressed database does not exist or could not be opened.

Changelog

Version 8.4
Version 7.7
  • Updated: the functions no longer accept Database Nodes as reference. Instead, the name of a database must now be specified.
Version 7.3

The module was introduced with Version 7.1.