<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1335486787639314028</id><updated>2011-04-21T17:01:26.796-07:00</updated><title type='text'>T Q L</title><subtitle type='html'>Logic and Query Language for Unranked Labelled Trees</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thetql.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1335486787639314028/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thetql.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Giovanni Conforti</name><uri>http://www.blogger.com/profile/12720507877996601293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1335486787639314028.post-1441936481622018316</id><published>2008-04-01T07:42:00.000-07:00</published><updated>2008-04-01T08:43:32.611-07:00</updated><title type='text'>TQL data model (1/3): simple kernel</title><content type='html'>&lt;div&gt;We start a little tutorial on TQL data model (and its use) with this post, the kernel data model we present here  is not the complete data model supported by the current TQL implementation but it is the subset presented in the main TQL articles.&lt;/div&gt;&lt;div&gt;We will complete the data model, step by step, in following posts.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The original data model of TQL is inspired by &lt;a href="http://en.wikipedia.org/wiki/Ambient_calculus"&gt;ambients&lt;/a&gt; and is defined wrt a set of labels &lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;L&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;It defines unordered unranked labelled (over &lt;span class="Apple-style-span"  style=" ;font-family:verdana;"&gt;L&lt;/span&gt;) trees and is generated by the following grammar:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;I ::= &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;0&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;a single node&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" font-weight: bold;font-family:verdana;"&gt;        &lt;/span&gt;&lt;span class="Apple-style-span"  style=" ;font-family:verdana;"&gt; a&lt;/span&gt;&lt;span class="Apple-style-span"  style=" font-weight: bold;font-family:verdana;"&gt;[&lt;/span&gt;&lt;span class="Apple-style-span"  style=" ;font-family:verdana;"&gt;I&lt;/span&gt;&lt;span class="Apple-style-span"  style=" font-weight: bold;font-family:verdana;"&gt;]&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;a single edge labelled a (element of L) leading to a subtree I&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;        I | I' justaposition of two trees (merging roots and forgetting order)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt; &lt;span class="Apple-style-span"  style=" ;font-family:Georgia;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia;"&gt;It is essentially a "nested" commutative monoid &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;freely generated from an alphabet of labels, i.e. the operator _ | _ &lt;/div&gt;&lt;div&gt;is associative and commutative and has &lt;span class="Apple-style-span"  style=" font-weight: bold; font-family:verdana;"&gt;0 &lt;/span&gt;as neutral element.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;XML can be easily represented as information trees if we forget about order, we use some convention for representing attributes (e.g. to use a sorting discipline) and we assume PCDATA and all other XML basic types can be encoded into our labels.&lt;/div&gt;&lt;div&gt;On the other hand, information trees can be serialized into XML, but doing so we are non deterministically deciding an order among children of the same node.  &lt;/div&gt;&lt;div&gt;Information trees may also be produced by other means (e.g. connections over JDBC databases),  since TQL also implements and supports extensible functions that can be coded directly in Java and produce information trees, in the current release of TQL a demo of a JDBC connection is included with the function named scan.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The TQL system (since version 2.0) can load data as XML files from the file system or the web, and results of a query can be serialized into XML files and stored on the file system.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1335486787639314028-1441936481622018316?l=thetql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetql.blogspot.com/feeds/1441936481622018316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1335486787639314028&amp;postID=1441936481622018316' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1335486787639314028/posts/default/1441936481622018316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1335486787639314028/posts/default/1441936481622018316'/><link rel='alternate' type='text/html' href='http://thetql.blogspot.com/2008/04/tql-data-model.html' title='TQL data model (1/3): simple kernel'/><author><name>Giovanni Conforti</name><uri>http://www.blogger.com/profile/12720507877996601293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1335486787639314028.post-2159807966396031421</id><published>2008-02-28T07:51:00.000-08:00</published><updated>2008-02-28T08:25:36.200-08:00</updated><title type='text'>About TQL</title><content type='html'>&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;TQL&lt;/span&gt; (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Tree&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Query&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Language&lt;/span&gt;) &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;is&lt;/span&gt; a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;query&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;language&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;for&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;tree&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;shaped&lt;/span&gt; data (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;unordered&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;unranked&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;trees&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;to&lt;/span&gt; be more &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;specific&lt;/span&gt;) &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;based&lt;/span&gt; on a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;modal&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;spatial&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;logic&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;named&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;Ambient&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Logic&lt;/span&gt;.&lt;div&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;TQL&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;was&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;designed&lt;/span&gt; by &lt;a href="http://www.di.unipi.it/~ghelli"&gt;Giorgio &lt;/a&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;&lt;a href="http://www.di.unipi.it/~ghelli"&gt;Ghelli&lt;/a&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;and&lt;/span&gt; &lt;a href="http://lucacardelli.name/"&gt;Luca &lt;/a&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;&lt;a href="http://lucacardelli.name/"&gt;Cardelli&lt;/a&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;and&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;implemented&lt;/span&gt; in 2001&lt;div&gt;by &lt;a href="http://www.di.unipi.it/~ghelli"&gt;Giorgio &lt;/a&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;&lt;a href="http://www.di.unipi.it/~ghelli"&gt;Ghelli&lt;/a&gt;&lt;/span&gt;, &lt;a href="http://www.di.unipi.it/~confor"&gt;Giovanni Conforti&lt;/a&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;and&lt;/span&gt; some &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;students&lt;/span&gt; in Pisa &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;University&lt;/span&gt;. &lt;/div&gt;&lt;div&gt;In &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;particular&lt;/span&gt; &lt;a href="http://www.di.unipi.it/~confor"&gt;Giovanni Conforti&lt;/a&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;and&lt;/span&gt; Orlando Ferrara &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;completed&lt;/span&gt; a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;first&lt;/span&gt; &lt;/div&gt;&lt;div&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;prototypal&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;implementation&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;started&lt;/span&gt; by Francesco Pantaleo.&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.di.unipi.it/~albano"&gt;Antonio Albano&lt;/a&gt;, &lt;a href="http://www.lri.fr/~colazzo/"&gt;Dario Colazzo&lt;/a&gt;, &lt;a href="http://www.nmis.isti.cnr.it/manghi/"&gt;Paolo Manghi&lt;/a&gt;, and &lt;a href="http://www.di.unipi.it/~sartiani"&gt;Carlo Sartiani&lt;/a&gt; also initially contributed to the TQL project.&lt;/div&gt;&lt;div&gt;TQL has been extended and mantained by bachelor and master students with the supervision of Giorgio Ghelli and Giovanni Conforti.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1335486787639314028-2159807966396031421?l=thetql.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetql.blogspot.com/feeds/2159807966396031421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1335486787639314028&amp;postID=2159807966396031421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1335486787639314028/posts/default/2159807966396031421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1335486787639314028/posts/default/2159807966396031421'/><link rel='alternate' type='text/html' href='http://thetql.blogspot.com/2008/02/tql-blog-is-online.html' title='About TQL'/><author><name>Giovanni Conforti</name><uri>http://www.blogger.com/profile/12720507877996601293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
