Changes

Jump to navigation Jump to search
9,895 bytes added ,  16:24, 25 July 2022
This small tutorial demonstrates how to launch page is part of the [[Getting Started]] Section. BaseX comes with a graphical user interface (GUI) of BaseX that offers you great tools for managing, querying and visualizing your data and perform some first XPath querieswrite complex applications in XQuery.
==Startup==See the [[Startup Overview]].
== Create Database ==The graphical user interface can be started as follows:
Select * If you have installed BaseX on ''Windows'Database', click on the '' 'BaseX GUI'New'' and browse to icon.* Run one of the factbook{{Code|[[Start_Scripts#Linux.xml 2FMac:_basex|basexgui]]}} or {{Code|[[Start Scripts#Windows: basex.bat|basexgui.bat]]}} scripts.* You can also double-click on the {{Code|BaseX.jar}} file(this way, no libraries will be added). This XML document is included * For developers: type in {{Code|mvn exec:java}} in the Windows, Mac and ZIP distributions main directory of BaseX, and it contains statistical information on the worlds' countries{{Code|basex}} project.
Next, choose the OK button, and BaseX will create a database that you can visually exploreSome additional [[Command-Line_Options#GUI|command-line options]] are available.
The It is worth mentioning that the standalone client must not be used if you perform parallel (concurrent) read and write operations on your databases. See [http://www.youtube.com/watch?v=xILHKGPGaJ4&hd=1 introductory video[Startup#Concurrent Operations|Concurrent Operations]] gives you a glimpse of some of the features that the BaseX GUI providesfor more details.
== Example Queries =Introduction=
Apart from At the basic search facilitiestop of the BaseX window, the menu bar resides. It houses all important features of the BaseX offers far more sophisticated processing options GUI. Use the ''Database'' menu to query [[Graphical_User_Interface#Database Management|create and manage your documentsXML databases]]. Below are some examples The ''Editor'' menu gives you might give access to a tryvariety of tools and options for working with files. This guide is far from being The ''View'' menu lets you toggle between the bars and panels described below. The ''Visualization'' menu offers you a comprehensive XQuery reference, but might point set of data representations that will help you in to understand your data even better. Use the right direction''Options'' menu to set your preferences regarding real-time execution, colors, fonts, and packages.
To execute Right below the following queriesmenu bar, enter them in you can find the XQuery Panel ''Buttons'' bar and hit just below that the PLAY button''Input Bar''. The ''Buttons'' bar offers you a wide range of shortcuts, mostly for menu options, such as managing databases and displaying views and visualizations, but also for navigating through your data. With the [[Graphical_User_Interface#Input Bar|''Input Bar'']], you can query your data using three different kinds of query syntax.
=== XPath ===[[File:GUI-Header.png|600px]]
XPath provides an easy facility to query your documents in a navigational manner. It The ''Status Bar'' is situated at the basic tool bottom of all node-related operations that you encounter when using XQuery. We will start with a trivial example and extend it to our needsthe BaseX window.
==== Find all Countries ====The BaseX [[Graphical_User_Interface#Editor|editor]] consists of the ''Project'' view, a file browser with optional input fields for searching files, and the actual ''Editor'' panel with buttons for creating, opening, saving, searching, executing and debugging your files.
<code> //country</code>[[File:GUI-Editor.png|600px]]
tells BaseX In addition to look for all <code>country</code> elements in the document. The query is introduced by two slashes <code>//</code>that, which trigger the traversal of all document nodes. XPath knows several ''Result'' view displays the output of queries and database operations and the 'location steps'Info'' that determine which nodes to consider next for evaluationview shows you information about database processes and query execution.
As an example, <code>//country</code> is equivalent to <code>/descendant[[File::country</code>GUI-ResultInfo.png|600px]]
==== Find the Names of all Countries ====To gain further insights into your data, you can choose to display various [[Graphical_User_Interface#Visualizations|visualizations]] such as ''Map'', ''Tree'', ''Folder'', ''Plot'', ''Table'' and ''Explorer''.
<code> //country/name</code>=Database Management=
This query returns the <code>name</code> children of all <code>country</code> elementsThe BaseX GUI is a great place for creating and managing your XML databases. The result looks as follows:
<code> <name>Albania<To '''create a new database''', select ''Database'' → ''New'' from the menu and browse to an XML document of your choice. You can start with the {{Code|factbook.xml}} document, which contains statistical information on the worlds' countries. It is included in the {{Code|etc}} directory of our [https://basex.org/download full distributions] (ZIP Package and Windows Installer) or can be downloaded [https://name><br files.basex.org/> <name>Andorra<xml/factbook.xml here] (1.3 MB). In the ''Create Database'' dialog, specify the path to your input file and the name><br /> of the new database.If you leave the input file field empty, an empty database will be created.Click the ''OK'' button to create the database.</code>
==== Find '''Note:''' You can also use the Names GUI's [[Graphical_User_Interface#Editor|editor]] to create and edit your own XML document. Just specify it as input file for the creation of all Cities in Switzerland ====a new database after saving the document to disk.
The following query uses To '''open, rename, copy or drop a database'''predicate, choose ''Database' <code>[' → ''Open & Manage...'' from the menu.Select one of the available databases on the left-hand side and click on one of the buttons on the right: ''Open'', ''Rename'', ''Copy'' or ''Drop''.]</code> to filter all <code>country</code> nodes which have To open a <code>name</code> childdatabase, you can also double-click on the string value of which is "Switzerland":database name.
<code> //country[name = "Switzerland"]</code>Opening a database activates three more options in the ''Database'' menu:
To return all cities * The ''Properties'' item gives you access to a variety of the resulting database options and information:** Add resources and/or set parsing preferences.** Gain insights into element nodeand attribute names, paths and other meta information.** Create and manage text, attribute, token and full-text indexes. Customize indexes by specifying language, stemming, case-sensitivity and diacritics settings or include a stop word list.* With the query ''Export'' item, you can be extended by serialize your database into a trailing <code>//city</code> path:whole range of different output formats, including XML, JSON and CSV.* The ''Close'' item closes the database. An open database is closed automatically as soon as another database is opened.
<code> //country[name = "Switzerland"]//city</code>'''Note:''' You can also access the menu options ''New'', ''Open & Manage'', ''Properties'' and ''Close'' from BaseX's Buttons bar.
== What's Next? ==[[File:GUI-Menu.png|600px]]
For more information on BaseX, XQuery and XPath, we invite you to...=Editor=
* check out our The built-in editor of BaseX is a powerful tool for write XQuery code and [[DocumentationCommands#Basics|Command Scripts]], editing text documents (XML, JSON, JavaScript, …), and* have a look at the developing [[httpRESTXQ]] applications://www.w3schools.com/xquery/ XQuery Tutorial at W3Schools].
* The editor offers native '''syntax highlighting''' for XQuery, XML, JSON and JavaScript.* XQuery, XML and JSON files will be '''parsed''' in real time and '''errors''' will be highlighted.* XQuery code and command scripts can be '''executed''' (via Ctrl Enter or by clicking on the green triangle). Numerous [[CategoryShortcuts|keyboard shortcuts]] are available to speed up editing and debugging. Some examples:Beginner * Ctrl H: Search for the currently selected string in your complete project.* Ctrl .: Jump to the next erroneous code in your project. If you right-click on an XML document in the ''Project'' view, the selected file will be parsed and bound to the context item: [[File:GUI-Context.png|600px]] ==Project View== The ''Project'' view is attached to the ''Editor'' panel. It displays all files of the current project directory in a tree structure. Files can be renamed and deleted by right-clicking on the files. The project directory can be changed as well; the most recent directories will be kept in the history. All XQuery files in the project directory will be parsed in the background. Buggy XQuery modules, and files importing these modules, will be marked red. With the text fields on top, you can interactively search for file names and contents. If a directory contains a {{Code|.ignore}} file, its files and contents will be ignored. =Input Bar= The ''Input Bar'' is situated on top of the main window. It offers you three different modes to query your XML databases: '''Find''', '''XQuery''' and '''Command'''. [[CategoryImage:GUI-Input.png|600px]] The upcoming example queries can all be used with an instance of the <code>factbook</code> database: ==Find== In the '''Find''' mode, the input bar can be used to find single elements and texts in the currently opened database. The following syntax is supported: {| class="wikitable"!Query!Description|-|<code>city</code>|Find elements named {{Code|city}}, and texts containing this token.|-|<code>=India</code>|Find texts matching the exact string {{Code|India}}.|-|<code>~Cingdom</code>|Find texts equal or similar to the token {{Code|Cingdom}}.|-|<code>@id</code>|Find attributes named {{Code|id}} and attribute values containing this token.|-|<code>@=f0_119</code>|Find attribute values matching the exact string {{Code|f0_119}}.|-|<code>"European Chinese"</code>|Find texts containing the phrase {{Code|"European Chinese"}}.|-|<code>//city</code>|Leading slash: Interpret the input as XPath expression (see below).|} ==XQuery== In the '''XQuery''' mode, XPath and XQuery expressions can be entered in the input bar. To evaluate the following example queries, type them in the input bar and press Enter or click on the ''Run query'' button (green triangle) adjacent to the input bar: {| class="wikitable"!Query!Description|-|<code>//country</code>|Return all <code>country</code> elements.|-|<code>//country[name = "Switzerland"]</code>|Return the <code>country</code> element of "Switzerland".|-|<code>for $city in //city<br/>where $city/population > 1000000<br/>order by $city ascending<br/>return $city/name</code>|Return the names of all cities with a population larger than one million and order the results by the name of the city.|} ==Command== In the '''Command''' mode, BaseX [[Commands|Commands]] can be entered and executed. Just try the following examples: * <code>INFO</code>: Returns system information.* <code>CREATE DB TEST</code>: Creates an empty database named "TEST".* <code>LIST</code>: Lists all databases. =Visualizations= The BaseX GUI offers various visualizations,which help you to explore your XML data instances from different perspectives: <table cellpadding="0" cellspacing="10"><tr><td valign="top" width="50%">[[CategoryImage:Result.png|thumb|200px]] '''Result''' (''View'' menu):Displays query results and other textual output (e.g., content of the currently open database). Query results can be saved in a file.</td><td valign="top" width="50%">[[Image:InfoView.png|thumb|200px]] '''Info''' (''View'' menu):Helpful for analyzing the query plans of your XQueryexpressions. It also displays information on the compilation and evaluation of queries.</td></tr><tr><td valign="top" width="50%">[[Image:Map.png|thumb|200px]] '''Map''':Displays all data in a [https://en.wikipedia.org/wiki/Treemap TreeMap]. All nodes of the XML document are represented as rectangles, filling the complete area. You can choose different layout algorithms in the Menu ''Options'' → ''Map Layout''.</td><td valign="top" width="50%">[[Image:Tree.png|thumb|200px]] '''Tree''':Displays all XML nodes in a top-down tree with edges and nodes. You can change some settings of the Tree in the Menu ''Options'' → ''Tree Options''.</td></tr><tr><td valign="top" width="50%">[[Image:Folder.png|thumb|200px]] '''Folder''':Displays all nodes in an Explorer-like folder view. Nodes can be expanded or closed by clicking on the arrows.</td><td valign="top" width="50%">[[Image:Scatterplot.png|thumb|200px]] '''Plot''':Displays all nodes in a scatter plot, which is particularly helpful if you want to explore analyze your data. Three dropdown menus allow custom axis assignments.</td></tr><tr><td valign="top" width="50%">[[Image:Table.png|thumb|200px]] '''Table''':Comes in handy if your data is highly regular. It displays all nodes in a table with rows and columns. Different assignments can be chosen by clicking on the arrow in the right upper corner.</td><td valign="top" width="50%">[[Image:Explorer.png|thumb|200px]] '''Explorer''':Can be used to explore the contents of your database via drop-down menus, search fields and double sliders.</td></tr></table> =Real-time Options= In the ''Options'' menu, you can change how queries are executed and visualized: * '''Real-time Execution''': If real-time execution is enabled, your searches and queries will be executed with each key click and the results will be instantly shown.* '''Real-time Filtering''': If enabled, all visualizations will be limited to the actual results in real-time. If this feature is disabled, the query results are highlighted in the visualizations and can be explicitly filtered with the 'Filter' button. =Look and Feel= <table> <tr> <td valign="top">By default, the Look and Feel of your operating system will be used in the GUI.In the ''Preferences'' dialog, you can choose from additional window themes. The [http://www.jtattoo.net/ScreenShots.html JTattoo library] offers some morelook and feels. If you download and copy the JTattoo jar file into the {{Code|lib}}directory provided by the ZIP and EXE distribution of BaseX,13 additional themes will get available. </td> <td>[[Image:defaultlaf.png|thumb|Default Look & Feel]]</td> <td>[[Image:hifilaf.png|thumb|HiFi Look & Feel]]</td> </tr></table> =Changelog= ;Version 9.3* Updated: Project View: ignore directories with {{Code|.ignore}} file ;Version 9.1* Added: Project View, set XML document as context. ;Version 8.4* Added: highlighting of erroneous XQuery modules in the project view. ;Version 8.0* Updated: support for dark look and feels; support for JTattoo library
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu