<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vazaar Project Blog</title>
	<atom:link href="http://www.vazaar-project.org/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.vazaar-project.org/blog</link>
	<description>The semantic store</description>
	<lastBuildDate>Thu, 02 Sep 2010 02:15:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>New custom timeline widget</title>
		<link>http://www.vazaar-project.org/blog/archives/558</link>
		<comments>http://www.vazaar-project.org/blog/archives/558#comments</comments>
		<pubDate>Thu, 02 Sep 2010 02:15:14 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/558">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[GUI]]></category>
		<category><![CDATA[PyGTK Widgets]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SPARQL Queries]]></category>
		<category><![CDATA[Workshop]]></category>
		<category><![CDATA[custom timeline]]></category>
		<category><![CDATA[custom widget]]></category>
		<category><![CDATA[Graphical user interface]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[pygtk]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[screenshot]]></category>
		<category><![CDATA[simple 1]]></category>
		<category><![CDATA[Timeline]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=558</guid>
		<description><![CDATA[<p>Tired of looking for a timeline widget in PyGTK for Vazaar I&#8217;ve decided to develop it  by myself.</p>
<p>It&#8217;s very simple: 1 calendar and 3 treeviews.</p>
<p>The user clicks a day in the calendar and with the selected date Vazaar asks to the database for those resources created that day, the day before and the day after.</p>
<p>Here is a screenshot:</p>

<a href="http://www.vazaar-project.org/blog/wp-content/gallery/pygtk-custom-widgets/vazaar-timeline_0.png" title="" class="shutterset_singlepic74" >
	<img class="ngg-singlepic ngg-center" src="http://www.vazaar-project.org/blog/wp-content/gallery/cache/74__640x480_vazaar-timeline_0.png" alt="vazaar-timeline_0" title="vazaar-timeline_0" />
</a>

<p>You can find an example in the repository.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-09-02 03:15:14" resource="http://www.vazaar-project.org/blog/archives/558" /><span rel="http://www.vazaar-project.org/blog/archives/558" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/558">GUI improvements</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75" rel="bookmark" title="09/06/2009"><span property="dc:date" content="2010-09-02 03:15:14" resource="http://www.vazaar-project.org/blog/archives/558" /><span rel="http://www.vazaar-project.org/blog/archives/558" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/558">About Vazaar 0.4 Beta development</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2010-09-02 03:15:14" resource="http://www.vazaar-project.org/blog/archives/558" /><span rel="http://www.vazaar-project.org/blog/archives/558" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/558">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2010-09-02 03:15:14" resource="http://www.vazaar-project.org/blog/archives/558" /><span rel="http://www.vazaar-project.org/blog/archives/558" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/558">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/155" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-09-02 03:15:14" resource="http://www.vazaar-project.org/blog/archives/558" /><span rel="http://www.vazaar-project.org/blog/archives/558" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/558">Querying remote ontologies from integrated SPARQL editor</span></a></li>
</ul>
<p><!-- Similar Posts took 10.914 ms --></p>
<div class="wam_wrap"><h4 class="wam">Attached Files:</h4><ul class="wam_ul"><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/vazaar-timeline.png' class='wam_link'>Vazaar Timeline</a><p>A timeline for vazaar showing resources for selected, previous and next day.</p></li></ul></div><div class="shr-publisher-558"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/my-workshop/gui-my-workshop">GUI</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/558">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/558#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>Tired of looking for a timeline widget in PyGTK for Vazaar I&#8217;ve decided to develop it  by myself.</p>
<p>It&#8217;s very simple: 1 calendar and 3 treeviews.</p>
<p>The user clicks a day in the calendar and with the selected date Vazaar asks to the database for those resources created that day, the day before and the day after.</p>
<p>Here is a screenshot:</p>

<a href="http://www.vazaar-project.org/blog/wp-content/gallery/pygtk-custom-widgets/vazaar-timeline_0.png" title="" class="shutterset_singlepic74" >
	<img class="ngg-singlepic ngg-center" src="http://www.vazaar-project.org/blog/wp-content/gallery/cache/74__640x480_vazaar-timeline_0.png" alt="vazaar-timeline_0" title="vazaar-timeline_0" />
</a>

<p>You can find an example in the repository.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-09-02 03:15:14" resource="http://www.vazaar-project.org/blog/archives/558" /><span rel="http://www.vazaar-project.org/blog/archives/558" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/558">GUI improvements</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75" rel="bookmark" title="09/06/2009"><span property="dc:date" content="2010-09-02 03:15:14" resource="http://www.vazaar-project.org/blog/archives/558" /><span rel="http://www.vazaar-project.org/blog/archives/558" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/558">About Vazaar 0.4 Beta development</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2010-09-02 03:15:14" resource="http://www.vazaar-project.org/blog/archives/558" /><span rel="http://www.vazaar-project.org/blog/archives/558" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/558">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2010-09-02 03:15:14" resource="http://www.vazaar-project.org/blog/archives/558" /><span rel="http://www.vazaar-project.org/blog/archives/558" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/558">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/155" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-09-02 03:15:14" resource="http://www.vazaar-project.org/blog/archives/558" /><span rel="http://www.vazaar-project.org/blog/archives/558" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/558">Querying remote ontologies from integrated SPARQL editor</span></a></li>
</ul>
<p><!-- Similar Posts took 10.745 ms --></p>
<div class="wam_wrap"><h4 class="wam">Attached Files:</h4><ul class="wam_ul"><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/vazaar-timeline.png' class='wam_link'>Vazaar Timeline</a><p>A timeline for vazaar showing resources for selected, previous and next day.</p></li></ul></div><div class="shr-publisher-558"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/558/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to fix your sqlite database after corruption</title>
		<link>http://www.vazaar-project.org/blog/archives/550</link>
		<comments>http://www.vazaar-project.org/blog/archives/550#comments</comments>
		<pubDate>Wed, 01 Sep 2010 23:45:00 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/550">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[RDFLib]]></category>
		<category><![CDATA[Workshop]]></category>
		<category><![CDATA[accesses]]></category>
		<category><![CDATA[berkeley database]]></category>
		<category><![CDATA[Concurrency control]]></category>
		<category><![CDATA[corruption]]></category>
		<category><![CDATA[crashes]]></category>
		<category><![CDATA[database directory]]></category>
		<category><![CDATA[database files]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[file bin]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[Lock]]></category>
		<category><![CDATA[MemoryError]]></category>
		<category><![CDATA[self store]]></category>
		<category><![CDATA[sqlite]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[system administration]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=550</guid>
		<description><![CDATA[<p>If you get something like this:</p>
<pre>Traceback (most recent call last):
  File "./bin/vazaar", line 79, in
    Vazaar(options, args)
  File "/home/t00m/dev/trunk/vazaarlib/main.py", line 61, in __init__
    self.store = StoreManager(self)
  File "/home/t00m/dev/trunk/vazaarlib/store.py", line 54, in __init__
    self.__get_graph()
  File "/home/t00m/dev/trunk/vazaarlib/store.py", line 85, in __get_graph
    self.graph.store.open(self.options)
  File "/usr/lib/pymodules/python2.6/rdflib/store/Sleepycat.py", line 77, in open
    index.open(index_name, dbname, dbtype, dbopenflags|db.DB_CREATE, dbmode)

<span style="color: #ff0000;">MemoryError: (12, 'Cannot allocate memory -- Lock table is out of available locker entries')</span>
</pre>
<p><strong>Just go to database directory and delete all files similar to __db. </strong></p>
<p>Reason:<br />
This problem occurs when Vazaar accesses the Berkeley database files, it makes temporary locker entries within the tables while it searches for data. If Vazaar crashes often, this issue will occur much sooner because the <span style="text-decoration: underline;">locks are never cleared</span>.</p>
<p><em>Tip found at http://www.linuxmaza.com/system-administration/solved-lock-table-is-out-of-available-locker-entries-yum-install-yum-upgrade-3/</em><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2010-09-02 00:45:00" resource="http://www.vazaar-project.org/blog/archives/550" /><span rel="http://www.vazaar-project.org/blog/archives/550" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/550">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/5" rel="bookmark" title="01/11/2007"><span property="dc:date" content="2010-09-02 00:45:00" resource="http://www.vazaar-project.org/blog/archives/550" /><span rel="http://www.vazaar-project.org/blog/archives/550" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/550">Initial import</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2010-09-02 00:45:00" resource="http://www.vazaar-project.org/blog/archives/550" /><span rel="http://www.vazaar-project.org/blog/archives/550" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/550">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75/vazaar-04-export" rel="bookmark" title="08/06/2009"><span property="dc:date" content="2010-09-02 00:45:00" resource="http://www.vazaar-project.org/blog/archives/550" /><span rel="http://www.vazaar-project.org/blog/archives/550" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/550">vazaar-04-export</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2010-09-02 00:45:00" resource="http://www.vazaar-project.org/blog/archives/550" /><span rel="http://www.vazaar-project.org/blog/archives/550" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/550">Vazaar 0.4.8: a new release for testing</span></a></li>
</ul>
<p><!-- Similar Posts took 10.072 ms --></p>
<div class="shr-publisher-550"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/my-workshop/python-my-workshop">Python</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/550">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/550#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>If you get something like this:</p>
<pre>Traceback (most recent call last):
  File "./bin/vazaar", line 79, in
    Vazaar(options, args)
  File "/home/t00m/dev/trunk/vazaarlib/main.py", line 61, in __init__
    self.store = StoreManager(self)
  File "/home/t00m/dev/trunk/vazaarlib/store.py", line 54, in __init__
    self.__get_graph()
  File "/home/t00m/dev/trunk/vazaarlib/store.py", line 85, in __get_graph
    self.graph.store.open(self.options)
  File "/usr/lib/pymodules/python2.6/rdflib/store/Sleepycat.py", line 77, in open
    index.open(index_name, dbname, dbtype, dbopenflags|db.DB_CREATE, dbmode)

<span style="color: #ff0000;">MemoryError: (12, 'Cannot allocate memory -- Lock table is out of available locker entries')</span>
</pre>
<p><strong>Just go to database directory and delete all files similar to __db. </strong></p>
<p>Reason:<br />
This problem occurs when Vazaar accesses the Berkeley database files, it makes temporary locker entries within the tables while it searches for data. If Vazaar crashes often, this issue will occur much sooner because the <span style="text-decoration: underline;">locks are never cleared</span>.</p>
<p><em>Tip found at http://www.linuxmaza.com/system-administration/solved-lock-table-is-out-of-available-locker-entries-yum-install-yum-upgrade-3/</em><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2010-09-02 00:45:00" resource="http://www.vazaar-project.org/blog/archives/550" /><span rel="http://www.vazaar-project.org/blog/archives/550" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/550">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/5" rel="bookmark" title="01/11/2007"><span property="dc:date" content="2010-09-02 00:45:00" resource="http://www.vazaar-project.org/blog/archives/550" /><span rel="http://www.vazaar-project.org/blog/archives/550" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/550">Initial import</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2010-09-02 00:45:00" resource="http://www.vazaar-project.org/blog/archives/550" /><span rel="http://www.vazaar-project.org/blog/archives/550" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/550">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75/vazaar-04-export" rel="bookmark" title="08/06/2009"><span property="dc:date" content="2010-09-02 00:45:00" resource="http://www.vazaar-project.org/blog/archives/550" /><span rel="http://www.vazaar-project.org/blog/archives/550" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/550">vazaar-04-export</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2010-09-02 00:45:00" resource="http://www.vazaar-project.org/blog/archives/550" /><span rel="http://www.vazaar-project.org/blog/archives/550" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/550">Vazaar 0.4.8: a new release for testing</span></a></li>
</ul>
<p><!-- Similar Posts took 10.290 ms --></p>
<div class="shr-publisher-550"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/550/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PyGTK XDot Widget</title>
		<link>http://www.vazaar-project.org/blog/archives/527</link>
		<comments>http://www.vazaar-project.org/blog/archives/527#comments</comments>
		<pubDate>Thu, 19 Aug 2010 15:15:54 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/527">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[GUI]]></category>
		<category><![CDATA[PyGTK Widgets]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[RDFLib]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[application features]]></category>
		<category><![CDATA[Cairo]]></category>
		<category><![CDATA[DOT language]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[Graphviz]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[GUI widget]]></category>
		<category><![CDATA[interactive graphs]]></category>
		<category><![CDATA[interactive viewer]]></category>
		<category><![CDATA[intermediate format]]></category>
		<category><![CDATA[intuitive graphical interface]]></category>
		<category><![CDATA[keyboard mouse]]></category>
		<category><![CDATA[library class]]></category>
		<category><![CDATA[memory footprint]]></category>
		<category><![CDATA[mouse navigation]]></category>
		<category><![CDATA[node]]></category>
		<category><![CDATA[pygtk]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[python application]]></category>
		<category><![CDATA[set filter]]></category>
		<category><![CDATA[standalone application]]></category>
		<category><![CDATA[Technology/Internet]]></category>
		<category><![CDATA[User interface]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=527</guid>
		<description><![CDATA[<p>XDot es un magnífico componente para representar grafos interactivos con Python, Graphviz y GTK.</p>
<p>De la <a href="http://code.google.com/p/jrfonseca/wiki/XDot">web</a> del autor:</p>
<blockquote><p><strong><em>xdot.py is an interactive viewer for graphs written in Graphviz&#8217;s dot language.</em></strong></p>
<p><em>It uses internally the graphviz&#8217;s xdot output format as an intermediate format, and PyGTK and Cairo for rendering.<br />
xdot.py can be used either as a standalone application from command line, or as a library embedded in your python application.</em></p>
<p><em><strong>Features</strong></em></p>
<ul>
<li><em> Since it doesn&#8217;t use bitmaps it is fast and has a small memory footprint.</em></li>
<li><em>Arbitrary zoom.</em></li>
<li><em>Keyboard/mouse navigation.</em></li>
<li><em>Supports events on the nodes with URLs.</em></li>
<li><em>Animated jumping between nodes.</em></li>
<li><em>Highlights node/edge under mouse. </em></li>
</ul>
</blockquote>
<p>Este código ilustra como usar el widget en una aplicación. En la mía, genero dinámicamente el código <em>dot</em> según los nodos (recursos) que haya eligido el usuario. En los adjuntos puedes encontrar otro ejemplo mezclando rdflib y xdot:</p>
<p><span id="more-527"></span></p>
<div class="dean_ch" style="white-space: wrap;"><span class="kw1">import</span> gtk <span class="co1"># gtk bindings</span><br />
<span class="kw1">import</span> xdot <span class="co1"># xdot library</span></p>
<p><span class="kw1">class</span> FooXDot<span class="br0">&#40;</span>xdot.<span class="me1">DotWidget</span><span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; <span class="kw1">def</span> <span class="kw4">__init__</span><span class="br0">&#40;</span><span class="kw2">self</span>, func<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; xdot.<span class="me1">DotWidget</span>.<span class="kw4">__init__</span><span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Filters allowed: &#8216;dot&#8217;, &#8216;neato&#8217;, &#8216;twopi&#8217;, &#8216;circo&#8217;, &#8216;fdp&#8217;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">set_filter</span><span class="br0">&#40;</span><span class="st0">&#8216;circo&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">connect</span><span class="br0">&#40;</span><span class="st0">&#8216;clicked&#8217;</span>, func<span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; <span class="kw1">def</span> display_dot<span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Header</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_head = <span class="st0">&quot;&quot;</span><span class="st0">&quot;digraph Vazaar {<span class="es0">\n</span>charset=&quot;</span>UTF<span class="nu0">-8</span><span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Relations</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body = <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user1<span class="st0">&quot; -&gt; &quot;</span>tennis<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body = <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user1<span class="st0">&quot; -&gt; &quot;</span>basket<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user1<span class="st0">&quot; -&gt; &quot;</span>soccer<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user2<span class="st0">&quot; -&gt; &quot;</span>basket<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user2<span class="st0">&quot; -&gt; &quot;</span>soccer<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user3<span class="st0">&quot; -&gt; &quot;</span>tennis<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user3<span class="st0">&quot; -&gt; &quot;</span>soccer<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user4<span class="st0">&quot; -&gt; &quot;</span>karate<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user4<span class="st0">&quot; -&gt; &quot;</span>soccer<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user4<span class="st0">&quot; -&gt; &quot;</span>tennis<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Key Nodes</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># people</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user1<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>box<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>yellow<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;user1&#8242;</span>, <span class="st0">&#8216;user1&#8242;</span>, <span class="st0">&#8216;John&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user2<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>box<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>yellow<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;user2&#8242;</span>, <span class="st0">&#8216;user2&#8242;</span>, <span class="st0">&#8216;Steven&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user3<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>box<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>yellow<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;user3&#8242;</span>, <span class="st0">&#8216;user3&#8242;</span>, <span class="st0">&#8216;Paul&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user4<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>box<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>yellow<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;user4&#8242;</span>, <span class="st0">&#8216;user4&#8242;</span>, <span class="st0">&#8216;Thomas&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># plays</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>tennis<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>circle<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>green<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;tennis&#8217;</span>, <span class="st0">&#8216;tennis&#8217;</span>, <span class="st0">&#8216;Tennis&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>basket<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>circle<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>lightblue<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;basket&#8217;</span>, <span class="st0">&#8216;basket&#8217;</span>, <span class="st0">&#8216;Basket&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>soccer<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>circle<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>hotpink<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;soccer&#8217;</span>, <span class="st0">&#8216;soccer&#8217;</span>, <span class="st0">&#8216;Soccer&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>karate<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>circle<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; s &nbsp; tyle=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>white<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;karate&#8217;</span>, <span class="st0">&#8216;Karate&#8217;</span>, <span class="st0">&#8216;Karate&#8217;</span><span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Fotter</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_footer = <span class="st0">&quot;}&quot;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Join all parts</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; xdot_code = dc_head + dc_body + dc_footer</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Update widget with the new dot code</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">set_dotcode</span><span class="br0">&#40;</span>xdot_code<span class="br0">&#41;</span></p>
<p><span class="co1"># callback called after user clicks in a node</span><br />
<span class="kw1">def</span> on_url_clicked<span class="br0">&#40;</span>widget, keynode, event<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; <span class="kw1">print</span> <span class="st0">&#8216;Key Node:&#8217;</span>, keynode</p>
<p><span class="kw1">if</span> __name__ == <span class="st0">&#8216;__main__&#8217;</span>:<br />
&nbsp; &nbsp; <span class="co1"># create widget and display dot code</span><br />
&nbsp; &nbsp; xdot = FooXDot<span class="br0">&#40;</span>on_url_clicked<span class="br0">&#41;</span><br />
&nbsp; &nbsp; xdot.<span class="me1">display_dot</span><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; xdot.<span class="me1">show_all</span><span class="br0">&#40;</span><span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; <span class="co1"># gtk stuff</span><br />
&nbsp; &nbsp; window = gtk.<span class="me1">Window</span><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; window.<span class="me1">resize</span><span class="br0">&#40;</span><span class="nu0">800</span>, <span class="nu0">600</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; window.<span class="me1">connect</span><span class="br0">&#40;</span><span class="st0">&#8216;destroy&#8217;</span>, gtk.<span class="me1">main_quit</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; window.<span class="me1">show_all</span><span class="br0">&#40;</span><span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; <span class="co1"># Embed XDot widget</span><br />
&nbsp; &nbsp; window.<span class="me1">add</span><span class="br0">&#40;</span>xdot<span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; <span class="co1"># Get fun</span><br />
&nbsp; &nbsp; gtk.<span class="me1">main</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div>
<p>Resultado:</p>
<div id="attachment_529" class="wp-caption aligncenter" style="width: 816px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/fooxdot.py_012.png"><img class="size-full wp-image-529" title="XDot Widget example output" src="http://www.vazaar-project.org/blog/wp-content/uploads/fooxdot.py_012.png" alt="" width="806" height="485" /></a><p class="wp-caption-text">XDot widget in action</p></div>
<p>Código fuente de otro ejemplo: <a href="http://www.vazaar-project.org/blog/wp-content/uploads/xdot.zip">xdot.zip</a><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2010-08-19 16:15:54" resource="http://www.vazaar-project.org/blog/archives/527" /><span rel="http://www.vazaar-project.org/blog/archives/527" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/527">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/558" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2010-08-19 16:15:54" resource="http://www.vazaar-project.org/blog/archives/527" /><span rel="http://www.vazaar-project.org/blog/archives/527" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/527">New custom timeline widget</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/514/xdot" rel="bookmark" title="19/08/2010"><span property="dc:date" content="2010-08-19 16:15:54" resource="http://www.vazaar-project.org/blog/archives/527" /><span rel="http://www.vazaar-project.org/blog/archives/527" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/527">xdot</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/155" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-08-19 16:15:54" resource="http://www.vazaar-project.org/blog/archives/527" /><span rel="http://www.vazaar-project.org/blog/archives/527" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/527">Querying remote ontologies from integrated SPARQL editor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-08-19 16:15:54" resource="http://www.vazaar-project.org/blog/archives/527" /><span rel="http://www.vazaar-project.org/blog/archives/527" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/527">GUI improvements</span></a></li>
</ul>
<p><!-- Similar Posts took 10.606 ms --></p>
<div class="wam_wrap"><h4 class="wam">Attached Files:</h4><ul class="wam_ul"><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/fooxdot.py_012.png' class='wam_link'>XDot Widget example output</a></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/fooxdot.py_0121.png' class='wam_link'>XDot widget example</a></li></ul></div><div class="shr-publisher-527"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/my-workshop/gui-my-workshop">GUI</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/527">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/527#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>XDot es un magnífico componente para representar grafos interactivos con Python, Graphviz y GTK.</p>
<p>De la <a href="http://code.google.com/p/jrfonseca/wiki/XDot">web</a> del autor:</p>
<blockquote><p><strong><em>xdot.py is an interactive viewer for graphs written in Graphviz&#8217;s dot language.</em></strong></p>
<p><em>It uses internally the graphviz&#8217;s xdot output format as an intermediate format, and PyGTK and Cairo for rendering.<br />
xdot.py can be used either as a standalone application from command line, or as a library embedded in your python application.</em></p>
<p><em><strong>Features</strong></em></p>
<ul>
<li><em> Since it doesn&#8217;t use bitmaps it is fast and has a small memory footprint.</em></li>
<li><em>Arbitrary zoom.</em></li>
<li><em>Keyboard/mouse navigation.</em></li>
<li><em>Supports events on the nodes with URLs.</em></li>
<li><em>Animated jumping between nodes.</em></li>
<li><em>Highlights node/edge under mouse. </em></li>
</ul>
</blockquote>
<p>Este código ilustra como usar el widget en una aplicación. En la mía, genero dinámicamente el código <em>dot</em> según los nodos (recursos) que haya eligido el usuario. En los adjuntos puedes encontrar otro ejemplo mezclando rdflib y xdot:</p>
<p><span id="more-527"></span></p>
<div class="dean_ch" style="white-space: wrap;"><span class="kw1">import</span> gtk <span class="co1"># gtk bindings</span><br />
<span class="kw1">import</span> xdot <span class="co1"># xdot library</span></p>
<p><span class="kw1">class</span> FooXDot<span class="br0">&#40;</span>xdot.<span class="me1">DotWidget</span><span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; <span class="kw1">def</span> <span class="kw4">__init__</span><span class="br0">&#40;</span><span class="kw2">self</span>, func<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; xdot.<span class="me1">DotWidget</span>.<span class="kw4">__init__</span><span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Filters allowed: &#8216;dot&#8217;, &#8216;neato&#8217;, &#8216;twopi&#8217;, &#8216;circo&#8217;, &#8216;fdp&#8217;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">set_filter</span><span class="br0">&#40;</span><span class="st0">&#8216;circo&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">connect</span><span class="br0">&#40;</span><span class="st0">&#8216;clicked&#8217;</span>, func<span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; <span class="kw1">def</span> display_dot<span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Header</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_head = <span class="st0">&quot;&quot;</span><span class="st0">&quot;digraph Vazaar {<span class="es0">\n</span>charset=&quot;</span>UTF<span class="nu0">-8</span><span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Relations</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body = <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user1<span class="st0">&quot; -&gt; &quot;</span>tennis<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body = <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user1<span class="st0">&quot; -&gt; &quot;</span>basket<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user1<span class="st0">&quot; -&gt; &quot;</span>soccer<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user2<span class="st0">&quot; -&gt; &quot;</span>basket<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user2<span class="st0">&quot; -&gt; &quot;</span>soccer<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user3<span class="st0">&quot; -&gt; &quot;</span>tennis<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user3<span class="st0">&quot; -&gt; &quot;</span>soccer<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user4<span class="st0">&quot; -&gt; &quot;</span>karate<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user4<span class="st0">&quot; -&gt; &quot;</span>soccer<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user4<span class="st0">&quot; -&gt; &quot;</span>tennis<span class="st0">&quot;;<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Key Nodes</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># people</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user1<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>box<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>yellow<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;user1&#8242;</span>, <span class="st0">&#8216;user1&#8242;</span>, <span class="st0">&#8216;John&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user2<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>box<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>yellow<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;user2&#8242;</span>, <span class="st0">&#8216;user2&#8242;</span>, <span class="st0">&#8216;Steven&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user3<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>box<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>yellow<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;user3&#8242;</span>, <span class="st0">&#8216;user3&#8242;</span>, <span class="st0">&#8216;Paul&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>user4<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>box<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>yellow<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;user4&#8242;</span>, <span class="st0">&#8216;user4&#8242;</span>, <span class="st0">&#8216;Thomas&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># plays</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>tennis<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>circle<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>green<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;tennis&#8217;</span>, <span class="st0">&#8216;tennis&#8217;</span>, <span class="st0">&#8216;Tennis&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>basket<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>circle<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>lightblue<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;basket&#8217;</span>, <span class="st0">&#8216;basket&#8217;</span>, <span class="st0">&#8216;Basket&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>soccer<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>circle<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>hotpink<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;soccer&#8217;</span>, <span class="st0">&#8216;soccer&#8217;</span>, <span class="st0">&#8216;Soccer&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_body += <span class="st0">&quot;&quot;</span><span class="st0">&quot;&quot;</span>karate<span class="st0">&quot; [URL=&quot;</span>%s<span class="st0">&quot;, url=&quot;</span>%s<span class="st0">&quot;, label=&quot;</span>%s<span class="st0">&quot;, shape=&quot;</span>circle<span class="st0">&quot;, <span class="es0">\</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; s &nbsp; tyle=&quot;</span>filled<span class="st0">&quot;, fillcolor=&quot;</span>white<span class="st0">&quot;];<span class="es0">\n</span>&quot;</span><span class="st0">&quot;&quot;</span> % <span class="br0">&#40;</span><span class="st0">&#8216;karate&#8217;</span>, <span class="st0">&#8216;Karate&#8217;</span>, <span class="st0">&#8216;Karate&#8217;</span><span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Fotter</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; dc_footer = <span class="st0">&quot;}&quot;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Join all parts</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; xdot_code = dc_head + dc_body + dc_footer</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Update widget with the new dot code</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">set_dotcode</span><span class="br0">&#40;</span>xdot_code<span class="br0">&#41;</span></p>
<p><span class="co1"># callback called after user clicks in a node</span><br />
<span class="kw1">def</span> on_url_clicked<span class="br0">&#40;</span>widget, keynode, event<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; <span class="kw1">print</span> <span class="st0">&#8216;Key Node:&#8217;</span>, keynode</p>
<p><span class="kw1">if</span> __name__ == <span class="st0">&#8216;__main__&#8217;</span>:<br />
&nbsp; &nbsp; <span class="co1"># create widget and display dot code</span><br />
&nbsp; &nbsp; xdot = FooXDot<span class="br0">&#40;</span>on_url_clicked<span class="br0">&#41;</span><br />
&nbsp; &nbsp; xdot.<span class="me1">display_dot</span><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; xdot.<span class="me1">show_all</span><span class="br0">&#40;</span><span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; <span class="co1"># gtk stuff</span><br />
&nbsp; &nbsp; window = gtk.<span class="me1">Window</span><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; window.<span class="me1">resize</span><span class="br0">&#40;</span><span class="nu0">800</span>, <span class="nu0">600</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; window.<span class="me1">connect</span><span class="br0">&#40;</span><span class="st0">&#8216;destroy&#8217;</span>, gtk.<span class="me1">main_quit</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; window.<span class="me1">show_all</span><span class="br0">&#40;</span><span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; <span class="co1"># Embed XDot widget</span><br />
&nbsp; &nbsp; window.<span class="me1">add</span><span class="br0">&#40;</span>xdot<span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; <span class="co1"># Get fun</span><br />
&nbsp; &nbsp; gtk.<span class="me1">main</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div>
<p>Resultado:</p>
<div id="attachment_529" class="wp-caption aligncenter" style="width: 816px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/fooxdot.py_012.png"><img class="size-full wp-image-529" title="XDot Widget example output" src="http://www.vazaar-project.org/blog/wp-content/uploads/fooxdot.py_012.png" alt="" width="806" height="485" /></a><p class="wp-caption-text">XDot widget in action</p></div>
<p>Código fuente de otro ejemplo: <a href="http://www.vazaar-project.org/blog/wp-content/uploads/xdot.zip">xdot.zip</a><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2010-08-19 16:15:54" resource="http://www.vazaar-project.org/blog/archives/527" /><span rel="http://www.vazaar-project.org/blog/archives/527" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/527">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/558" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2010-08-19 16:15:54" resource="http://www.vazaar-project.org/blog/archives/527" /><span rel="http://www.vazaar-project.org/blog/archives/527" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/527">New custom timeline widget</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/514/xdot" rel="bookmark" title="19/08/2010"><span property="dc:date" content="2010-08-19 16:15:54" resource="http://www.vazaar-project.org/blog/archives/527" /><span rel="http://www.vazaar-project.org/blog/archives/527" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/527">xdot</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/155" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-08-19 16:15:54" resource="http://www.vazaar-project.org/blog/archives/527" /><span rel="http://www.vazaar-project.org/blog/archives/527" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/527">Querying remote ontologies from integrated SPARQL editor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-08-19 16:15:54" resource="http://www.vazaar-project.org/blog/archives/527" /><span rel="http://www.vazaar-project.org/blog/archives/527" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/527">GUI improvements</span></a></li>
</ul>
<p><!-- Similar Posts took 11.019 ms --></p>
<div class="wam_wrap"><h4 class="wam">Attached Files:</h4><ul class="wam_ul"><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/fooxdot.py_012.png' class='wam_link'>XDot Widget example output</a></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/fooxdot.py_0121.png' class='wam_link'>XDot widget example</a></li></ul></div><div class="shr-publisher-527"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/527/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Question about UTF-8</title>
		<link>http://www.vazaar-project.org/blog/archives/496</link>
		<comments>http://www.vazaar-project.org/blog/archives/496#comments</comments>
		<pubDate>Wed, 18 Aug 2010 14:56:11 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/496">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[application doesn]]></category>
		<category><![CDATA[ASCII]]></category>
		<category><![CDATA[Character encoding]]></category>
		<category><![CDATA[Character sets]]></category>
		<category><![CDATA[decode]]></category>
		<category><![CDATA[encode]]></category>
		<category><![CDATA[Encodings]]></category>
		<category><![CDATA[rarr]]></category>
		<category><![CDATA[Unicode]]></category>
		<category><![CDATA[utf 8]]></category>
		<category><![CDATA[x80]]></category>
		<category><![CDATA[x92]]></category>
		<category><![CDATA[x98]]></category>
		<category><![CDATA[xa2]]></category>
		<category><![CDATA[xb2]]></category>
		<category><![CDATA[xb8]]></category>
		<category><![CDATA[xbe]]></category>
		<category><![CDATA[xcf]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=496</guid>
		<description><![CDATA[<p>Sometimes, I&#8217;ve noticed that my application doesn&#8217;t deal very well with UTF-8 input/output. UTF-8 is mandatory but it&#8217;s a headache when you have to spend your time guessing what is wrong and how display the right characteres. I&#8217;ve found this function to force encode any text into UTF-8.</p>
<div class="dean_ch" style="white-space: wrap;">keydict = <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="st0">&#8216;zwnj&#8217;</span>: <span class="st0">&#8221;</span>, <span class="st0">&#8216;aring&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a5&#8242;</span>, <span class="st0">&#8216;gt&#8217;</span>: <span class="st0">&#8216;&gt;&#8217;</span>, <span class="st0">&#8216;yen&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a5&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ograve&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b2&#8242;</span>, <span class="st0">&#8216;Chi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a7&#8242;</span>, <span class="st0">&#8216;delta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b4&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;rang&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e3<span class="es0">\x</span>80<span class="es0">\x</span>89&#8242;</span>, <span class="st0">&#8216;sup&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>83&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;trade&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>84<span class="es0">\x</span>a2&#8242;</span>, <span class="st0">&#8216;ge&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>89<span class="es0">\x</span>a5&#8242;</span>, <span class="st0">&#8216;xi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>be&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;upsih&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>92&#8242;</span>, <span class="st0">&#8216;nbsp&#8217;</span>: <span class="st0">&#8221;</span>, <span class="st0">&#8216;Atilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>83&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;radic&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>9a&#8217;</span>, <span class="st0">&#8216;otimes&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>97&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;aelig&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a6&#8242;</span>, <span class="st0">&#8216;oelig&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c5<span class="es0">\x</span>93&#8242;</span>, <span class="st0">&#8216;equiv&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>89<span class="es0">\x</span>a1&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ni&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>8b&#8217;</span>, <span class="st0">&#8216;le&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>89<span class="es0">\x</span>a4&#8242;</span>, <span class="st0">&#8216;auml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a4&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;cup&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>aa&#8217;</span>, <span class="st0">&#8216;Epsilon&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>95&#8242;</span>, <span class="st0">&#8216;otilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b5&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;lt&#8217;</span>: <span class="st0">&#8216;&lt; &#8216;</span>, <span class="st0">&#8216;Icirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>8e&#8217;</span>, <span class="st0">&#8216;shy&#8217;</span>: <span class="st0">&#8221;</span>, <span class="st0">&#8216;Eacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>89&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ndash&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>93&#8242;</span>, <span class="st0">&#8216;yacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>bd&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Prime&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>b3&#8242;</span>, <span class="st0">&#8216;prime&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>b2&#8242;</span>, <span class="st0">&#8216;psi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>88&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Kappa&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>9a&#8217;</span>, <span class="st0">&#8216;rsaquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>ba&#8217;</span>, <span class="st0">&#8216;Tau&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a4&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;alefsym&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>84<span class="es0">\x</span>b5&#8242;</span>, <span class="st0">&#8216;ocirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b4&#8242;</span>, <span class="st0">&#8216;lrm&#8217;</span>: <span class="st0">&#8221;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;zwj&#8217;</span>: <span class="st0">&#8221;</span>, <span class="st0">&#8216;cedil&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b8&#8242;</span>, <span class="st0">&#8216;Ecirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>8a&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;not&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>ac&#8217;</span>, <span class="st0">&#8216;Dagger&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>a1&#8242;</span>, <span class="st0">&#8216;AElig&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>86&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;oslash&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b8&#8242;</span>, <span class="st0">&#8216;acute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b4&#8242;</span>, <span class="st0">&#8216;lceil&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8c<span class="es0">\x</span>88&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;iquest&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>bf&#8217;</span>, <span class="st0">&#8216;uacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>ba&#8217;</span>, <span class="st0">&#8216;laquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>ab&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;dArr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>87<span class="es0">\x</span>93&#8242;</span>, <span class="st0">&#8216;rdquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>9d&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Ntilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>91&#8242;</span>, <span class="st0">&#8216;Igrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>8c&#8217;</span>, <span class="st0">&#8216;nu&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>bd&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;lsquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>98&#8242;</span>, <span class="st0">&#8216;lsaquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>b9&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;sube&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>86&#8242;</span>, <span class="st0">&#8216;rarr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>86<span class="es0">\x</span>92&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;sdot&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8b<span class="es0">\x</span>85&#8242;</span>, <span class="st0">&#8216;supe&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>87&#8242;</span>, <span class="st0">&#8216;Yacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>9d&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;lfloor&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8c<span class="es0">\x</span>8a&#8217;</span>, <span class="st0">&#8216;lArr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>87<span class="es0">\x</span>90&#8242;</span>, <span class="st0">&#8216;Auml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>84&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;asymp&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>89<span class="es0">\x</span>88&#8242;</span>, <span class="st0">&#8216;Otilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>95&#8242;</span>, <span class="st0">&#8216;szlig&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>9f&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;clubs&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>99<span class="es0">\x</span>a3&#8242;</span>, <span class="st0">&#8216;agrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;Ocirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>94&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Theta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>98&#8242;</span>, <span class="st0">&#8216;Pi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;harr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>86<span class="es0">\x</span>94&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Scaron&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c5<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;frac14&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>bc&#8217;</span>, <span class="st0">&#8216;egrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a8&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;sub&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>82&#8242;</span>, <span class="st0">&#8216;iexcl&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a1&#8242;</span>, <span class="st0">&#8216;frac12&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>bd&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ordf&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>aa&#8217;</span>, <span class="st0">&#8216;rlm&#8217;</span>: <span class="st0">&#8221;</span>, <span class="st0">&#8216;prop&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>9d&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;circ&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cb<span class="es0">\x</span>86&#8242;</span>, <span class="st0">&#8216;ntilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b1&#8242;</span>, <span class="st0">&#8216;apos&#8217;</span>: <span class="st0">&quot;&#8217;&quot;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;atilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a3&#8242;</span>, <span class="st0">&#8216;THORN&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>9e&#8217;</span>, <span class="st0">&#8216;theta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b8&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;prod&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>8f&#8217;</span>, <span class="st0">&#8216;nsub&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>84&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;hArr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>87<span class="es0">\x</span>94&#8242;</span>, <span class="st0">&#8216;rArr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>87<span class="es0">\x</span>92&#8242;</span>, <span class="st0">&#8216;Oslash&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>98&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;omicron&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>bf&#8217;</span>, <span class="st0">&#8216;infin&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>9e&#8217;</span>, <span class="st0">&#8216;yuml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>bf&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Mu&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>9c&#8217;</span>, <span class="st0">&#8216;Psi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a8&#8242;</span>, <span class="st0">&#8216;thinsp&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>89&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ecirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>aa&#8217;</span>, <span class="st0">&#8216;bdquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>9e&#8217;</span>, <span class="st0">&#8216;Sigma&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a3&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;kappa&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>ba&#8217;</span>, <span class="st0">&#8216;Aring&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>85&#8242;</span>, <span class="st0">&#8217;tilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cb<span class="es0">\x</span>9c&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;emsp&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>83&#8242;</span>, <span class="st0">&#8216;mdash&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>94&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;uarr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>86<span class="es0">\x</span>91&#8242;</span>, <span class="st0">&#8216;permil&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>b0&#8242;</span>, <span class="st0">&#8216;tau&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>84&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Ugrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>99&#8242;</span>, <span class="st0">&#8216;fnof&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c6<span class="es0">\x</span>92&#8242;</span>, <span class="st0">&#8216;Agrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>80&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;sup1&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b9&#8242;</span>, <span class="st0">&#8216;forall&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>80&#8242;</span>, <span class="st0">&#8216;eth&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b0&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;rceil&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8c<span class="es0">\x</span>89&#8242;</span>, <span class="st0">&#8216;iuml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>af&#8217;</span>, <span class="st0">&#8216;gamma&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b3&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;lambda&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>bb&#8217;</span>, <span class="st0">&#8216;reg&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>ae&#8217;</span>, <span class="st0">&#8216;Egrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>88&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;sup3&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b3&#8242;</span>, <span class="st0">&#8216;dagger&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;divide&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b7&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Ouml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>96&#8242;</span>, <span class="st0">&#8216;image&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>84<span class="es0">\x</span>91&#8242;</span>, <span class="st0">&#8216;hellip&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>a6&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;igrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>ac&#8217;</span>, <span class="st0">&#8216;Yuml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c5<span class="es0">\x</span>b8&#8242;</span>, <span class="st0">&#8216;Oacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>93&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;pound&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a3&#8242;</span>, <span class="st0">&#8216;eacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a9&#8242;</span>, <span class="st0">&#8216;frasl&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>81<span class="es0">\x</span>84&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ETH&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>90&#8242;</span>, <span class="st0">&#8216;lowast&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>97&#8242;</span>, <span class="st0">&#8216;Nu&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>9d&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;plusmn&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b1&#8242;</span>, <span class="st0">&#8216;chi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>87&#8242;</span>, <span class="st0">&#8216;sup2&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b2&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;frac34&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>be&#8217;</span>, <span class="st0">&#8216;Aacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>81&#8242;</span>, <span class="st0">&#8216;cent&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a2&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;oline&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>be&#8217;</span>, <span class="st0">&#8216;Beta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>92&#8242;</span>, <span class="st0">&#8216;perp&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>a5&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Delta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>94&#8242;</span>, <span class="st0">&#8216;loz&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>97<span class="es0">\x</span>8a&#8217;</span>, <span class="st0">&#8216;pi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>80&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;iota&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b9&#8242;</span>, <span class="st0">&#8216;empty&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>85&#8242;</span>, <span class="st0">&#8216;euml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>ab&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;brvbar&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a6&#8242;</span>, <span class="st0">&#8216;iacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>ad&#8217;</span>, <span class="st0">&#8216;para&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b6&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ordm&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>ba&#8217;</span>, <span class="st0">&#8216;epsilon&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b5&#8242;</span>, <span class="st0">&#8216;uuml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>bc&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;OElig&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c5<span class="es0">\x</span>92&#8242;</span>, <span class="st0">&#8216;there4&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>b4&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;part&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>82&#8242;</span>, <span class="st0">&#8216;icirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>ae&#8217;</span>, <span class="st0">&#8216;bull&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>a2&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;upsilon&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>85&#8242;</span>, <span class="st0">&#8216;copy&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a9&#8242;</span>, <span class="st0">&#8216;Iuml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>8f&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Lambda&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>9b&#8217;</span>, <span class="st0">&#8216;Xi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>9e&#8217;</span>, <span class="st0">&#8216;ensp&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>82&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ccedil&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a7&#8242;</span>, <span class="st0">&#8216;Ucirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>9b&#8217;</span>, <span class="st0">&#8216;cap&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>a9&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Upsilon&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a5&#8242;</span>, <span class="st0">&#8216;mu&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>bc&#8217;</span>, <span class="st0">&#8216;sigmaf&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>82&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;scaron&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c5<span class="es0">\x</span>a1&#8242;</span>, <span class="st0">&#8216;nabla&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>87&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;isin&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>88&#8242;</span>, <span class="st0">&#8216;Zeta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>96&#8242;</span>, <span class="st0">&#8216;minus&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>92&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;deg&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b0&#8242;</span>, <span class="st0">&#8216;and&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>a7&#8242;</span>, <span class="st0">&#8216;real&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>84<span class="es0">\x</span>9c&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ang&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;curren&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a4&#8242;</span>, <span class="st0">&#8216;int&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>ab&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ucirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>bb&#8217;</span>, <span class="st0">&#8216;rfloor&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8c<span class="es0">\x</span>8b&#8217;</span>, <span class="st0">&#8216;crarr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>86<span class="es0">\x</span>b5&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ugrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b9&#8242;</span>, <span class="st0">&#8216;notin&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>89&#8242;</span>, <span class="st0">&#8216;exist&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>83&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;cong&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>89<span class="es0">\x</span>85&#8242;</span>, <span class="st0">&#8216;Uuml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>9c&#8217;</span>, <span class="st0">&#8216;oplus&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>95&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;times&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>97&#8242;</span>, <span class="st0">&#8216;Acirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>82&#8242;</span>, <span class="st0">&#8216;piv&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>96&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Euml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>8b&#8217;</span>, <span class="st0">&#8216;Phi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a6&#8242;</span>, <span class="st0">&#8216;raquo&#8217;</span>: <span class="st0">&#8216; <span class="es0">\x</span>c2<span class="es0">\x</span>bb&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Iacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>8d&#8217;</span>, <span class="st0">&#8216;quot&#8217;</span>: <span class="st0">&#8221;</span>, <span class="st0">&#8216;Uacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>9a&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Omicron&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>9f&#8217;</span>, <span class="st0">&#8216;ne&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>89<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;Iota&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>99&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;eta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b7&#8242;</span>, <span class="st0">&#8216;sbquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>9a&#8217;</span>, <span class="st0">&#8216;Rho&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a1&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;darr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>86<span class="es0">\x</span>93&#8242;</span>, <span class="st0">&#8216;Alpha&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>91&#8242;</span>, <span class="st0">&#8216;zeta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b6&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Omega&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a9&#8242;</span>, <span class="st0">&#8216;acirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a2&#8242;</span>, <span class="st0">&#8216;sim&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>bc&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;phi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>86&#8242;</span>, <span class="st0">&#8216;diams&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>99<span class="es0">\x</span>a6&#8242;</span>, <span class="st0">&#8216;macr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>af&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;larr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>86<span class="es0">\x</span>90&#8242;</span>, <span class="st0">&#8216;Ccedil&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>87&#8242;</span>, <span class="st0">&#8216;aacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a1&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;uArr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>87<span class="es0">\x</span>91&#8242;</span>, <span class="st0">&#8216;beta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b2&#8242;</span>, <span class="st0">&#8216;Eta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>97&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;weierp&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>84<span class="es0">\x</span>98&#8242;</span>, <span class="st0">&#8216;rho&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>81&#8242;</span>, <span class="st0">&#8216;micro&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b5&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;alpha&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b1&#8242;</span>, <span class="st0">&#8216;omega&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>89&#8242;</span>, <span class="st0">&#8216;middot&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b7&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Gamma&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>93&#8242;</span>, <span class="st0">&#8216;euro&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>82<span class="es0">\x</span>ac&#8217;</span>, <span class="st0">&#8216;lang&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e3<span class="es0">\x</span>80<span class="es0">\x</span>88&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;spades&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>99<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;amp&#8217;</span>: <span class="st0">&#8216;and&#8217;</span>, <span class="st0">&#8216;rsquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>99&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;uml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a8&#8242;</span>, <span class="st0">&#8216;thorn&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>be&#8217;</span>, <span class="st0">&#8216;ouml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b6&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;thetasym&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>91&#8242;</span>, <span class="st0">&#8216;or&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>a8&#8242;</span>, <span class="st0">&#8216;Ograve&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>92&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;sect&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a7&#8242;</span>, <span class="st0">&#8216;ldquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>9c&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;hearts&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>99<span class="es0">\x</span>a5&#8242;</span>, <span class="st0">&#8216;sigma&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>83&#8242;</span>,<span class="st0">&#8216;sum&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>91&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;oacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b3&#8242;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>
<span class="kw1">def</span> decode_unicode_references<span class="br0">&#40;</span>data<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; <span class="kw1">try</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; text = data<br />
&nbsp; &nbsp; &nbsp; &nbsp; pos1 = text.<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">&#8216;&amp;&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pos2 = text.<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">&#8216;;&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span>pos1 != <span class="nu0">-1</span><span class="br0">&#41;</span> <span class="kw1">or</span> <span class="br0">&#40;</span>pos2 != <span class="nu0">-1</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw1">and</span> <span class="br0">&#40;</span>pos2 &#8211; pos1 &lt; <span class="nu0">15</span><span class="br0">&#41;</span><span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; entity = text<span class="br0">&#91;</span>pos1<span class="nu0">+1</span>: pos2<span class="br0">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a = text<span class="br0">&#91;</span>pos1:pos2<span class="nu0">+1</span><span class="br0">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> text.<span class="me1">replace</span><span class="br0">&#40;</span>a, keydict<span class="br0">&#91;</span>entity<span class="br0">&#93;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> data<br />
&nbsp; &nbsp; <span class="kw1">except</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> data</p>
<p>
<span class="kw1">def</span> str2utf8<span class="br0">&#40;</span>data<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; data = decode_unicode_references<span class="br0">&#40;</span>data<span class="br0">&#41;</span><br />
&nbsp; &nbsp; guess_list=<span class="br0">&#91;</span><span class="st0">&#8216;utf-8&#8242;</span>,<span class="st0">&#8216;iso8859-1&#8242;</span>,<span class="st0">&#8216;iso8859-2&#8242;</span>, \ <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;iso8859-15&#8242;</span>,<span class="st0">&#8216;ascii&#8217;</span><span class="br0">&#93;</span><br />
&nbsp; &nbsp; encoding = <span class="st0">&#8216;iso8859-1&#8242;</span><br />
&nbsp; &nbsp; text = <span class="kw2">None</span><br />
&nbsp; &nbsp; <span class="kw3">string</span> = <span class="kw2">None</span><br />
&nbsp; &nbsp; <span class="kw1">for</span> best_enc <span class="kw1">in</span> guess_list:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">try</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; encoding = best_enc<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; text = data.<span class="me1">decode</span><span class="br0">&#40;</span>encoding<span class="br0">&#41;</span>.<span class="me1">encode</span><span class="br0">&#40;</span><span class="st0">&#8216;utf-8&#8242;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">break</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">except</span> <span class="kw2">Exception</span>, error:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">#print &quot;ERROR:&quot;, error</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">pass</span></p>
<p>&nbsp; &nbsp; <span class="kw1">return</span> text</div>
<p><strong>How do you deal with UTF-8, python and gtk? Am I doing right? Do you know a better way?</strong></pre>
<p><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2010-08-18 15:56:11" resource="http://www.vazaar-project.org/blog/archives/496" /><span rel="http://www.vazaar-project.org/blog/archives/496" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/496">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2010-08-18 15:56:11" resource="http://www.vazaar-project.org/blog/archives/496" /><span rel="http://www.vazaar-project.org/blog/archives/496" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/496">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/329" rel="bookmark" title="21/07/2010"><span property="dc:date" content="2010-08-18 15:56:11" resource="http://www.vazaar-project.org/blog/archives/496" /><span rel="http://www.vazaar-project.org/blog/archives/496" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/496">Searching strings</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/10" rel="bookmark" title="26/11/2007"><span property="dc:date" content="2010-08-18 15:56:11" resource="http://www.vazaar-project.org/blog/archives/496" /><span rel="http://www.vazaar-project.org/blog/archives/496" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/496">Nepomuk</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75/backup-20090609173554" rel="bookmark" title="09/06/2009"><span property="dc:date" content="2010-08-18 15:56:11" resource="http://www.vazaar-project.org/blog/archives/496" /><span rel="http://www.vazaar-project.org/blog/archives/496" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/496">Vazaar RDF Model example</span></a></li>
</ul>
<p><!-- Similar Posts took 12.295 ms --></p>
<div class="shr-publisher-496"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/my-workshop/python-my-workshop">Python</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/496">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/496#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>Sometimes, I&#8217;ve noticed that my application doesn&#8217;t deal very well with UTF-8 input/output. UTF-8 is mandatory but it&#8217;s a headache when you have to spend your time guessing what is wrong and how display the right characteres. I&#8217;ve found this function to force encode any text into UTF-8.</p>
<div class="dean_ch" style="white-space: wrap;">keydict = <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="st0">&#8216;zwnj&#8217;</span>: <span class="st0">&#8221;</span>, <span class="st0">&#8216;aring&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a5&#8242;</span>, <span class="st0">&#8216;gt&#8217;</span>: <span class="st0">&#8216;&gt;&#8217;</span>, <span class="st0">&#8216;yen&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a5&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ograve&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b2&#8242;</span>, <span class="st0">&#8216;Chi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a7&#8242;</span>, <span class="st0">&#8216;delta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b4&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;rang&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e3<span class="es0">\x</span>80<span class="es0">\x</span>89&#8242;</span>, <span class="st0">&#8216;sup&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>83&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;trade&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>84<span class="es0">\x</span>a2&#8242;</span>, <span class="st0">&#8216;ge&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>89<span class="es0">\x</span>a5&#8242;</span>, <span class="st0">&#8216;xi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>be&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;upsih&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>92&#8242;</span>, <span class="st0">&#8216;nbsp&#8217;</span>: <span class="st0">&#8221;</span>, <span class="st0">&#8216;Atilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>83&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;radic&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>9a&#8217;</span>, <span class="st0">&#8216;otimes&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>97&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;aelig&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a6&#8242;</span>, <span class="st0">&#8216;oelig&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c5<span class="es0">\x</span>93&#8242;</span>, <span class="st0">&#8216;equiv&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>89<span class="es0">\x</span>a1&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ni&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>8b&#8217;</span>, <span class="st0">&#8216;le&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>89<span class="es0">\x</span>a4&#8242;</span>, <span class="st0">&#8216;auml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a4&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;cup&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>aa&#8217;</span>, <span class="st0">&#8216;Epsilon&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>95&#8242;</span>, <span class="st0">&#8216;otilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b5&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;lt&#8217;</span>: <span class="st0">&#8216;&lt; &#8216;</span>, <span class="st0">&#8216;Icirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>8e&#8217;</span>, <span class="st0">&#8216;shy&#8217;</span>: <span class="st0">&#8221;</span>, <span class="st0">&#8216;Eacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>89&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ndash&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>93&#8242;</span>, <span class="st0">&#8216;yacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>bd&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Prime&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>b3&#8242;</span>, <span class="st0">&#8216;prime&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>b2&#8242;</span>, <span class="st0">&#8216;psi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>88&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Kappa&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>9a&#8217;</span>, <span class="st0">&#8216;rsaquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>ba&#8217;</span>, <span class="st0">&#8216;Tau&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a4&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;alefsym&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>84<span class="es0">\x</span>b5&#8242;</span>, <span class="st0">&#8216;ocirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b4&#8242;</span>, <span class="st0">&#8216;lrm&#8217;</span>: <span class="st0">&#8221;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;zwj&#8217;</span>: <span class="st0">&#8221;</span>, <span class="st0">&#8216;cedil&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b8&#8242;</span>, <span class="st0">&#8216;Ecirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>8a&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;not&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>ac&#8217;</span>, <span class="st0">&#8216;Dagger&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>a1&#8242;</span>, <span class="st0">&#8216;AElig&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>86&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;oslash&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b8&#8242;</span>, <span class="st0">&#8216;acute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b4&#8242;</span>, <span class="st0">&#8216;lceil&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8c<span class="es0">\x</span>88&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;iquest&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>bf&#8217;</span>, <span class="st0">&#8216;uacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>ba&#8217;</span>, <span class="st0">&#8216;laquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>ab&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;dArr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>87<span class="es0">\x</span>93&#8242;</span>, <span class="st0">&#8216;rdquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>9d&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Ntilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>91&#8242;</span>, <span class="st0">&#8216;Igrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>8c&#8217;</span>, <span class="st0">&#8216;nu&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>bd&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;lsquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>98&#8242;</span>, <span class="st0">&#8216;lsaquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>b9&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;sube&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>86&#8242;</span>, <span class="st0">&#8216;rarr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>86<span class="es0">\x</span>92&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;sdot&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8b<span class="es0">\x</span>85&#8242;</span>, <span class="st0">&#8216;supe&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>87&#8242;</span>, <span class="st0">&#8216;Yacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>9d&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;lfloor&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8c<span class="es0">\x</span>8a&#8217;</span>, <span class="st0">&#8216;lArr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>87<span class="es0">\x</span>90&#8242;</span>, <span class="st0">&#8216;Auml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>84&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;asymp&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>89<span class="es0">\x</span>88&#8242;</span>, <span class="st0">&#8216;Otilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>95&#8242;</span>, <span class="st0">&#8216;szlig&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>9f&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;clubs&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>99<span class="es0">\x</span>a3&#8242;</span>, <span class="st0">&#8216;agrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;Ocirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>94&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Theta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>98&#8242;</span>, <span class="st0">&#8216;Pi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;harr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>86<span class="es0">\x</span>94&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Scaron&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c5<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;frac14&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>bc&#8217;</span>, <span class="st0">&#8216;egrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a8&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;sub&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>82&#8242;</span>, <span class="st0">&#8216;iexcl&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a1&#8242;</span>, <span class="st0">&#8216;frac12&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>bd&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ordf&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>aa&#8217;</span>, <span class="st0">&#8216;rlm&#8217;</span>: <span class="st0">&#8221;</span>, <span class="st0">&#8216;prop&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>9d&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;circ&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cb<span class="es0">\x</span>86&#8242;</span>, <span class="st0">&#8216;ntilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b1&#8242;</span>, <span class="st0">&#8216;apos&#8217;</span>: <span class="st0">&quot;&#8217;&quot;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;atilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a3&#8242;</span>, <span class="st0">&#8216;THORN&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>9e&#8217;</span>, <span class="st0">&#8216;theta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b8&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;prod&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>8f&#8217;</span>, <span class="st0">&#8216;nsub&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>84&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;hArr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>87<span class="es0">\x</span>94&#8242;</span>, <span class="st0">&#8216;rArr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>87<span class="es0">\x</span>92&#8242;</span>, <span class="st0">&#8216;Oslash&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>98&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;omicron&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>bf&#8217;</span>, <span class="st0">&#8216;infin&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>9e&#8217;</span>, <span class="st0">&#8216;yuml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>bf&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Mu&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>9c&#8217;</span>, <span class="st0">&#8216;Psi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a8&#8242;</span>, <span class="st0">&#8216;thinsp&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>89&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ecirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>aa&#8217;</span>, <span class="st0">&#8216;bdquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>9e&#8217;</span>, <span class="st0">&#8216;Sigma&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a3&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;kappa&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>ba&#8217;</span>, <span class="st0">&#8216;Aring&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>85&#8242;</span>, <span class="st0">&#8217;tilde&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cb<span class="es0">\x</span>9c&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;emsp&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>83&#8242;</span>, <span class="st0">&#8216;mdash&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>94&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;uarr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>86<span class="es0">\x</span>91&#8242;</span>, <span class="st0">&#8216;permil&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>b0&#8242;</span>, <span class="st0">&#8216;tau&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>84&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Ugrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>99&#8242;</span>, <span class="st0">&#8216;fnof&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c6<span class="es0">\x</span>92&#8242;</span>, <span class="st0">&#8216;Agrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>80&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;sup1&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b9&#8242;</span>, <span class="st0">&#8216;forall&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>80&#8242;</span>, <span class="st0">&#8216;eth&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b0&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;rceil&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8c<span class="es0">\x</span>89&#8242;</span>, <span class="st0">&#8216;iuml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>af&#8217;</span>, <span class="st0">&#8216;gamma&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b3&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;lambda&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>bb&#8217;</span>, <span class="st0">&#8216;reg&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>ae&#8217;</span>, <span class="st0">&#8216;Egrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>88&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;sup3&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b3&#8242;</span>, <span class="st0">&#8216;dagger&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;divide&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b7&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Ouml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>96&#8242;</span>, <span class="st0">&#8216;image&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>84<span class="es0">\x</span>91&#8242;</span>, <span class="st0">&#8216;hellip&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>a6&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;igrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>ac&#8217;</span>, <span class="st0">&#8216;Yuml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c5<span class="es0">\x</span>b8&#8242;</span>, <span class="st0">&#8216;Oacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>93&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;pound&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a3&#8242;</span>, <span class="st0">&#8216;eacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a9&#8242;</span>, <span class="st0">&#8216;frasl&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>81<span class="es0">\x</span>84&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ETH&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>90&#8242;</span>, <span class="st0">&#8216;lowast&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>97&#8242;</span>, <span class="st0">&#8216;Nu&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>9d&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;plusmn&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b1&#8242;</span>, <span class="st0">&#8216;chi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>87&#8242;</span>, <span class="st0">&#8216;sup2&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b2&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;frac34&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>be&#8217;</span>, <span class="st0">&#8216;Aacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>81&#8242;</span>, <span class="st0">&#8216;cent&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a2&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;oline&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>be&#8217;</span>, <span class="st0">&#8216;Beta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>92&#8242;</span>, <span class="st0">&#8216;perp&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>a5&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Delta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>94&#8242;</span>, <span class="st0">&#8216;loz&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>97<span class="es0">\x</span>8a&#8217;</span>, <span class="st0">&#8216;pi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>80&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;iota&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b9&#8242;</span>, <span class="st0">&#8216;empty&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>85&#8242;</span>, <span class="st0">&#8216;euml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>ab&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;brvbar&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a6&#8242;</span>, <span class="st0">&#8216;iacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>ad&#8217;</span>, <span class="st0">&#8216;para&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b6&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ordm&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>ba&#8217;</span>, <span class="st0">&#8216;epsilon&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b5&#8242;</span>, <span class="st0">&#8216;uuml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>bc&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;OElig&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c5<span class="es0">\x</span>92&#8242;</span>, <span class="st0">&#8216;there4&#8242;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>b4&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;part&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>82&#8242;</span>, <span class="st0">&#8216;icirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>ae&#8217;</span>, <span class="st0">&#8216;bull&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>a2&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;upsilon&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>85&#8242;</span>, <span class="st0">&#8216;copy&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a9&#8242;</span>, <span class="st0">&#8216;Iuml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>8f&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Lambda&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>9b&#8217;</span>, <span class="st0">&#8216;Xi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>9e&#8217;</span>, <span class="st0">&#8216;ensp&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>82&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ccedil&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a7&#8242;</span>, <span class="st0">&#8216;Ucirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>9b&#8217;</span>, <span class="st0">&#8216;cap&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>a9&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Upsilon&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a5&#8242;</span>, <span class="st0">&#8216;mu&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>bc&#8217;</span>, <span class="st0">&#8216;sigmaf&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>82&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;scaron&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c5<span class="es0">\x</span>a1&#8242;</span>, <span class="st0">&#8216;nabla&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>87&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;isin&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>88&#8242;</span>, <span class="st0">&#8216;Zeta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>96&#8242;</span>, <span class="st0">&#8216;minus&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>92&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;deg&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b0&#8242;</span>, <span class="st0">&#8216;and&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>a7&#8242;</span>, <span class="st0">&#8216;real&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>84<span class="es0">\x</span>9c&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ang&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;curren&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a4&#8242;</span>, <span class="st0">&#8216;int&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>ab&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ucirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>bb&#8217;</span>, <span class="st0">&#8216;rfloor&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8c<span class="es0">\x</span>8b&#8217;</span>, <span class="st0">&#8216;crarr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>86<span class="es0">\x</span>b5&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;ugrave&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b9&#8242;</span>, <span class="st0">&#8216;notin&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>89&#8242;</span>, <span class="st0">&#8216;exist&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>83&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;cong&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>89<span class="es0">\x</span>85&#8242;</span>, <span class="st0">&#8216;Uuml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>9c&#8217;</span>, <span class="st0">&#8216;oplus&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>8a<span class="es0">\x</span>95&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;times&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>97&#8242;</span>, <span class="st0">&#8216;Acirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>82&#8242;</span>, <span class="st0">&#8216;piv&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>96&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Euml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>8b&#8217;</span>, <span class="st0">&#8216;Phi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a6&#8242;</span>, <span class="st0">&#8216;raquo&#8217;</span>: <span class="st0">&#8216; <span class="es0">\x</span>c2<span class="es0">\x</span>bb&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Iacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>8d&#8217;</span>, <span class="st0">&#8216;quot&#8217;</span>: <span class="st0">&#8221;</span>, <span class="st0">&#8216;Uacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>9a&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Omicron&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>9f&#8217;</span>, <span class="st0">&#8216;ne&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>89<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;Iota&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>99&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;eta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b7&#8242;</span>, <span class="st0">&#8216;sbquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>9a&#8217;</span>, <span class="st0">&#8216;Rho&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a1&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;darr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>86<span class="es0">\x</span>93&#8242;</span>, <span class="st0">&#8216;Alpha&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>91&#8242;</span>, <span class="st0">&#8216;zeta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b6&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Omega&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>a9&#8242;</span>, <span class="st0">&#8216;acirc&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a2&#8242;</span>, <span class="st0">&#8216;sim&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>bc&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;phi&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>86&#8242;</span>, <span class="st0">&#8216;diams&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>99<span class="es0">\x</span>a6&#8242;</span>, <span class="st0">&#8216;macr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>af&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;larr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>86<span class="es0">\x</span>90&#8242;</span>, <span class="st0">&#8216;Ccedil&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>87&#8242;</span>, <span class="st0">&#8216;aacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>a1&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;uArr&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>87<span class="es0">\x</span>91&#8242;</span>, <span class="st0">&#8216;beta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b2&#8242;</span>, <span class="st0">&#8216;Eta&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>97&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;weierp&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>84<span class="es0">\x</span>98&#8242;</span>, <span class="st0">&#8216;rho&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>81&#8242;</span>, <span class="st0">&#8216;micro&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b5&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;alpha&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>b1&#8242;</span>, <span class="st0">&#8216;omega&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>89&#8242;</span>, <span class="st0">&#8216;middot&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>b7&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;Gamma&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>ce<span class="es0">\x</span>93&#8242;</span>, <span class="st0">&#8216;euro&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>82<span class="es0">\x</span>ac&#8217;</span>, <span class="st0">&#8216;lang&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e3<span class="es0">\x</span>80<span class="es0">\x</span>88&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;spades&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>99<span class="es0">\x</span>a0&#8242;</span>, <span class="st0">&#8216;amp&#8217;</span>: <span class="st0">&#8216;and&#8217;</span>, <span class="st0">&#8216;rsquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>99&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;uml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a8&#8242;</span>, <span class="st0">&#8216;thorn&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>be&#8217;</span>, <span class="st0">&#8216;ouml&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b6&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;thetasym&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>91&#8242;</span>, <span class="st0">&#8216;or&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>a8&#8242;</span>, <span class="st0">&#8216;Ograve&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>92&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;sect&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c2<span class="es0">\x</span>a7&#8242;</span>, <span class="st0">&#8216;ldquo&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>80<span class="es0">\x</span>9c&#8217;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;hearts&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>99<span class="es0">\x</span>a5&#8242;</span>, <span class="st0">&#8216;sigma&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>cf<span class="es0">\x</span>83&#8242;</span>,<span class="st0">&#8216;sum&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>e2<span class="es0">\x</span>88<span class="es0">\x</span>91&#8242;</span>,<br />
&nbsp; &nbsp; <span class="st0">&#8216;oacute&#8217;</span>: <span class="st0">&#8216;<span class="es0">\x</span>c3<span class="es0">\x</span>b3&#8242;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>
<span class="kw1">def</span> decode_unicode_references<span class="br0">&#40;</span>data<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; <span class="kw1">try</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; text = data<br />
&nbsp; &nbsp; &nbsp; &nbsp; pos1 = text.<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">&#8216;&amp;&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; pos2 = text.<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">&#8216;;&#8217;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#40;</span>pos1 != <span class="nu0">-1</span><span class="br0">&#41;</span> <span class="kw1">or</span> <span class="br0">&#40;</span>pos2 != <span class="nu0">-1</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw1">and</span> <span class="br0">&#40;</span>pos2 &#8211; pos1 &lt; <span class="nu0">15</span><span class="br0">&#41;</span><span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; entity = text<span class="br0">&#91;</span>pos1<span class="nu0">+1</span>: pos2<span class="br0">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a = text<span class="br0">&#91;</span>pos1:pos2<span class="nu0">+1</span><span class="br0">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> text.<span class="me1">replace</span><span class="br0">&#40;</span>a, keydict<span class="br0">&#91;</span>entity<span class="br0">&#93;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> data<br />
&nbsp; &nbsp; <span class="kw1">except</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> data</p>
<p>
<span class="kw1">def</span> str2utf8<span class="br0">&#40;</span>data<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; data = decode_unicode_references<span class="br0">&#40;</span>data<span class="br0">&#41;</span><br />
&nbsp; &nbsp; guess_list=<span class="br0">&#91;</span><span class="st0">&#8216;utf-8&#8242;</span>,<span class="st0">&#8216;iso8859-1&#8242;</span>,<span class="st0">&#8216;iso8859-2&#8242;</span>, \ <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;iso8859-15&#8242;</span>,<span class="st0">&#8216;ascii&#8217;</span><span class="br0">&#93;</span><br />
&nbsp; &nbsp; encoding = <span class="st0">&#8216;iso8859-1&#8242;</span><br />
&nbsp; &nbsp; text = <span class="kw2">None</span><br />
&nbsp; &nbsp; <span class="kw3">string</span> = <span class="kw2">None</span><br />
&nbsp; &nbsp; <span class="kw1">for</span> best_enc <span class="kw1">in</span> guess_list:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">try</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; encoding = best_enc<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; text = data.<span class="me1">decode</span><span class="br0">&#40;</span>encoding<span class="br0">&#41;</span>.<span class="me1">encode</span><span class="br0">&#40;</span><span class="st0">&#8216;utf-8&#8242;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">break</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">except</span> <span class="kw2">Exception</span>, error:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">#print &quot;ERROR:&quot;, error</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">pass</span></p>
<p>&nbsp; &nbsp; <span class="kw1">return</span> text</div>
<p><strong>How do you deal with UTF-8, python and gtk? Am I doing right? Do you know a better way?</strong></pre>
<p><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2010-08-18 15:56:11" resource="http://www.vazaar-project.org/blog/archives/496" /><span rel="http://www.vazaar-project.org/blog/archives/496" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/496">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2010-08-18 15:56:11" resource="http://www.vazaar-project.org/blog/archives/496" /><span rel="http://www.vazaar-project.org/blog/archives/496" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/496">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/329" rel="bookmark" title="21/07/2010"><span property="dc:date" content="2010-08-18 15:56:11" resource="http://www.vazaar-project.org/blog/archives/496" /><span rel="http://www.vazaar-project.org/blog/archives/496" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/496">Searching strings</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/10" rel="bookmark" title="26/11/2007"><span property="dc:date" content="2010-08-18 15:56:11" resource="http://www.vazaar-project.org/blog/archives/496" /><span rel="http://www.vazaar-project.org/blog/archives/496" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/496">Nepomuk</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75/backup-20090609173554" rel="bookmark" title="09/06/2009"><span property="dc:date" content="2010-08-18 15:56:11" resource="http://www.vazaar-project.org/blog/archives/496" /><span rel="http://www.vazaar-project.org/blog/archives/496" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/496">Vazaar RDF Model example</span></a></li>
</ul>
<p><!-- Similar Posts took 12.155 ms --></p>
<div class="shr-publisher-496"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/496/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reports with Cheetah templates</title>
		<link>http://www.vazaar-project.org/blog/archives/365</link>
		<comments>http://www.vazaar-project.org/blog/archives/365#comments</comments>
		<pubDate>Mon, 16 Aug 2010 09:32:37 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/365">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[Reports]]></category>
		<category><![CDATA[cheetah]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[dynamic content]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[import time]]></category>
		<category><![CDATA[knowledge database]]></category>
		<category><![CDATA[license gpl]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[reports]]></category>
		<category><![CDATA[resource contents]]></category>
		<category><![CDATA[rtype]]></category>
		<category><![CDATA[strict dtd]]></category>
		<category><![CDATA[syntactic rules]]></category>
		<category><![CDATA[template engine]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[vstore]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=365</guid>
		<description><![CDATA[<p><a class="shutterset_" href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-12.png"><img class="ngg-singlepic ngg-left" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-12.png" alt="Start Here Report" /></a> I&#8217;ve found <a href="http://www.cheetahtemplate.org/" target="_blank">Cheetah</a> template engine very useful to build custom reports. With a very small set of syntactic rules you can mix html and python to generate dynamic content.</p>
<p>This is a small example extracted from my project:</p>
<p>filename <strong>default.html</strong>:</p>
<div class="dean_ch" style="white-space: wrap;"><span class="co1">#import time</span><br />
<span class="co1">#from vazaarlib.i18n import _</span><br />
<span class="co1">#from vazaarlib.utils import fuzzy_date, str2utf8, get_resource_contents</span><br />
<span class="co1">#from vazaarlib.utils import get_beautiful_rtype</span><br />
<span class="co1">#from vazaarlib.namespaces import *</span><br />
<span class="co1">#from vazaarlib.constants import GPATH, LPATH</span></p>
<p><span class="co1">#set $user_owner_pim_uri = $self.gui.app.cfgmgr.get_value(&#8216;PIMO&#8217;, &#8216;PIM&#8217;)</span><br />
<span class="co1">#set $user_owner_uri = $self.gui.ask.get_owner($user_owner_pim_uri)</span><br />
<span class="co1">#set $user_owner_email_uri = $self.gui.ask.get_owner_email($user_owner_uri)</span><br />
<span class="co1">#set $uemail = $self.gui.app.vstore.get_property($user_owner_email_uri)</span><br />
<span class="co1">#set $uowner = $self.gui.app.vstore.get_property($user_owner_uri)</span><br />
<span class="co1">#set $totres = $self.gui.ask.get_total_resources()</span><br />
<span class="co1">#set $typefreq = $self.gui.ask.get_qname_frequency($RDF.type)</span><br />
<span class="co1">#set $medate = time.strftime(&quot;%A, %d %b %Y&quot;, $time.localtime(time.time()))</span><br />
<span class="co1">#set $metime = time.strftime(&quot;%H:%M&quot;, $time.localtime(time.time()))</span><br />
<span class="co1">#set $css = $open($GPATH['CSS'] + &#8216;/default/style.css&#8217;, &#8216;r&#8217;).read()</span></p>
<p>&lt; !DOCTYPE HTML PUBLIC <span class="st0">&quot;-//W3C//DTD HTML 4.01//EN&quot;</span> <span class="st0">&quot;http://www.w3.org/TR/html4/strict.dtd&quot;</span>&gt;</p>
<p>Vazaar<br />
&lt;!&#8211;<br />
$css<br />
&#8211;&gt;<br />
&lt;div&gt;<br />
&lt;div&gt;&lt;strong&gt;$medate @ $metime&lt;/strong&gt;&lt;/div&gt;<br />
$_<span class="br0">&#40;</span><span class="st0">&quot;Hi&quot;</span><span class="br0">&#41;</span> &lt;strong&gt;&lt;em&gt;$uowner&lt;/em&gt;&lt;/strong&gt;, your Knowledge Database has &lt;strong&gt;$totres&lt;/strong&gt; resources</p>
<p><span class="co1">#for $rtype in $typefreq:</span><br />
&nbsp; &nbsp; <span class="co1">#set $title = get_beautiful_rtype($rtype)</span><br />
&nbsp; &nbsp; <span class="co1">#set $freq = $typefreq[$rtype]</span></p>
<p><span class="co1">#end for</span><br />
&lt;table style=<span class="st0">&quot;font-size: 10pt;&quot;</span> cellspacing=<span class="st0">&quot;3px&quot;</span> cellpadding=<span class="st0">&quot;3px&quot;</span> width=<span class="st0">&quot;100%&quot;</span>&gt;<br />
&lt;tbody&gt;<br />
&lt;tr <span class="kw2">id</span>=<span class="st0">&quot;row&quot;</span>&gt;<br />
&lt;td style=<span class="st0">&quot;border-bottom: 1px solid gray;&quot;</span> align=<span class="st0">&quot;left&quot;</span>&gt;&lt;strong&gt;$title&lt;/strong&gt;&lt;/td&gt;<br />
&lt;td style=<span class="st0">&quot;border-bottom: 0px dotted gray;&quot;</span> align=<span class="st0">&quot;right&quot;</span>&gt;$freq&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td style=<span class="st0">&quot;border-top: 0px solid black; color: black;&quot;</span> align=<span class="st0">&quot;right&quot;</span>&gt;$_<span class="br0">&#40;</span><span class="st0">&quot;&lt;strong&gt;Total resources&lt;/strong&gt;: &quot;</span><span class="br0">&#41;</span>&lt;/td&gt;<br />
&lt;td style=<span class="st0">&quot;border-top: 1px solid black; color: black;&quot;</span> align=<span class="st0">&quot;right&quot;</span>&gt;&lt;strong&gt;$totres&lt;/strong&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/tbody&gt;<br />
&lt;/table&gt;<br />
&lt;/div&gt;</div>
<p>filename <strong>reports.py</strong>:</p>
<div class="dean_ch" style="white-space: wrap;"><span class="co1">#!/usr/bin/python</span><br />
<span class="co1"># -*- coding: utf-8 -*-</span><br />
<span class="co1"># File: reports.py</span><br />
<span class="co1"># Author: Tomás Vírseda</span><br />
<span class="co1"># License: GPL v3</span><br />
<span class="co1"># Description: Report builder for Vazaar</span></p>
<p><span class="br0">&#91;</span>&#8230;<span class="br0">&#93;</span><br />
<span class="kw1">from</span> Cheetah.<span class="me1">Template</span> <span class="kw1">import</span> Template</p>
<p><span class="kw1">class</span> Report<span class="br0">&#40;</span><span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; <span class="kw1">def</span> <span class="kw4">__init__</span><span class="br0">&#40;</span><span class="kw2">self</span>, gui<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &#8230;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &#8230;</p>
<p>&nbsp; &nbsp; <span class="kw1">def</span> build_starthere_report<span class="br0">&#40;</span><span class="kw2">self</span>, params<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; template = GPATH<span class="br0">&#91;</span><span class="st0">&#8216;TEMPLATES&#8217;</span><span class="br0">&#93;</span> + <span class="st0">&#8216;/default.html&#8217;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; report = Template<span class="br0">&#40;</span><span class="kw2">file</span>=template<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; report.<span class="me1">css_content</span> = <span class="kw2">self</span>.<span class="me1">css_content</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; report.<span class="me1">author</span> = <span class="st0">&#8216;Tomás Vírseda García&#8217;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; report.<span class="me1">date</span> = <span class="st0">&#8217;14/12/2010&#8242;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; report.<span class="me1">params</span> = params</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">str</span><span class="br0">&#40;</span>report<span class="br0">&#41;</span><br />
<span class="br0">&#91;</span>&#8230;<span class="br0">&#93;</span></div>
<p>Check the code at vazaarlib/ui/reports.py in the source project repository.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2010-08-16 10:32:37" resource="http://www.vazaar-project.org/blog/archives/365" /><span rel="http://www.vazaar-project.org/blog/archives/365" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/365">Vazaar 0.4.8: a new release for testing</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-08-16 10:32:37" resource="http://www.vazaar-project.org/blog/archives/365" /><span rel="http://www.vazaar-project.org/blog/archives/365" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/365">GUI improvements</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2010-08-16 10:32:37" resource="http://www.vazaar-project.org/blog/archives/365" /><span rel="http://www.vazaar-project.org/blog/archives/365" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/365">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/158" rel="bookmark" title="26/08/2009"><span property="dc:date" content="2010-08-16 10:32:37" resource="http://www.vazaar-project.org/blog/archives/365" /><span rel="http://www.vazaar-project.org/blog/archives/365" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/365">Dynamic SPARQL queries and Datatypes</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/527" rel="bookmark" title="19/08/2010"><span property="dc:date" content="2010-08-16 10:32:37" resource="http://www.vazaar-project.org/blog/archives/365" /><span rel="http://www.vazaar-project.org/blog/archives/365" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/365">PyGTK XDot Widget</span></a></li>
</ul>
<p><!-- Similar Posts took 12.236 ms --></p>
<div class="shr-publisher-365"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/my-workshop/reports">Reports</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/365">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/365#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p><a class="shutterset_" href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-12.png"><img class="ngg-singlepic ngg-left" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-12.png" alt="Start Here Report" /></a> I&#8217;ve found <a href="http://www.cheetahtemplate.org/" target="_blank">Cheetah</a> template engine very useful to build custom reports. With a very small set of syntactic rules you can mix html and python to generate dynamic content.</p>
<p>This is a small example extracted from my project:</p>
<p>filename <strong>default.html</strong>:</p>
<div class="dean_ch" style="white-space: wrap;"><span class="co1">#import time</span><br />
<span class="co1">#from vazaarlib.i18n import _</span><br />
<span class="co1">#from vazaarlib.utils import fuzzy_date, str2utf8, get_resource_contents</span><br />
<span class="co1">#from vazaarlib.utils import get_beautiful_rtype</span><br />
<span class="co1">#from vazaarlib.namespaces import *</span><br />
<span class="co1">#from vazaarlib.constants import GPATH, LPATH</span></p>
<p><span class="co1">#set $user_owner_pim_uri = $self.gui.app.cfgmgr.get_value(&#8216;PIMO&#8217;, &#8216;PIM&#8217;)</span><br />
<span class="co1">#set $user_owner_uri = $self.gui.ask.get_owner($user_owner_pim_uri)</span><br />
<span class="co1">#set $user_owner_email_uri = $self.gui.ask.get_owner_email($user_owner_uri)</span><br />
<span class="co1">#set $uemail = $self.gui.app.vstore.get_property($user_owner_email_uri)</span><br />
<span class="co1">#set $uowner = $self.gui.app.vstore.get_property($user_owner_uri)</span><br />
<span class="co1">#set $totres = $self.gui.ask.get_total_resources()</span><br />
<span class="co1">#set $typefreq = $self.gui.ask.get_qname_frequency($RDF.type)</span><br />
<span class="co1">#set $medate = time.strftime(&quot;%A, %d %b %Y&quot;, $time.localtime(time.time()))</span><br />
<span class="co1">#set $metime = time.strftime(&quot;%H:%M&quot;, $time.localtime(time.time()))</span><br />
<span class="co1">#set $css = $open($GPATH['CSS'] + &#8216;/default/style.css&#8217;, &#8216;r&#8217;).read()</span></p>
<p>&lt; !DOCTYPE HTML PUBLIC <span class="st0">&quot;-//W3C//DTD HTML 4.01//EN&quot;</span> <span class="st0">&quot;http://www.w3.org/TR/html4/strict.dtd&quot;</span>&gt;</p>
<p>Vazaar<br />
&lt;!&#8211;<br />
$css<br />
&#8211;&gt;<br />
&lt;div&gt;<br />
&lt;div&gt;&lt;strong&gt;$medate @ $metime&lt;/strong&gt;&lt;/div&gt;<br />
$_<span class="br0">&#40;</span><span class="st0">&quot;Hi&quot;</span><span class="br0">&#41;</span> &lt;strong&gt;&lt;em&gt;$uowner&lt;/em&gt;&lt;/strong&gt;, your Knowledge Database has &lt;strong&gt;$totres&lt;/strong&gt; resources</p>
<p><span class="co1">#for $rtype in $typefreq:</span><br />
&nbsp; &nbsp; <span class="co1">#set $title = get_beautiful_rtype($rtype)</span><br />
&nbsp; &nbsp; <span class="co1">#set $freq = $typefreq[$rtype]</span></p>
<p><span class="co1">#end for</span><br />
&lt;table style=<span class="st0">&quot;font-size: 10pt;&quot;</span> cellspacing=<span class="st0">&quot;3px&quot;</span> cellpadding=<span class="st0">&quot;3px&quot;</span> width=<span class="st0">&quot;100%&quot;</span>&gt;<br />
&lt;tbody&gt;<br />
&lt;tr <span class="kw2">id</span>=<span class="st0">&quot;row&quot;</span>&gt;<br />
&lt;td style=<span class="st0">&quot;border-bottom: 1px solid gray;&quot;</span> align=<span class="st0">&quot;left&quot;</span>&gt;&lt;strong&gt;$title&lt;/strong&gt;&lt;/td&gt;<br />
&lt;td style=<span class="st0">&quot;border-bottom: 0px dotted gray;&quot;</span> align=<span class="st0">&quot;right&quot;</span>&gt;$freq&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;td style=<span class="st0">&quot;border-top: 0px solid black; color: black;&quot;</span> align=<span class="st0">&quot;right&quot;</span>&gt;$_<span class="br0">&#40;</span><span class="st0">&quot;&lt;strong&gt;Total resources&lt;/strong&gt;: &quot;</span><span class="br0">&#41;</span>&lt;/td&gt;<br />
&lt;td style=<span class="st0">&quot;border-top: 1px solid black; color: black;&quot;</span> align=<span class="st0">&quot;right&quot;</span>&gt;&lt;strong&gt;$totres&lt;/strong&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/tbody&gt;<br />
&lt;/table&gt;<br />
&lt;/div&gt;</div>
<p>filename <strong>reports.py</strong>:</p>
<div class="dean_ch" style="white-space: wrap;"><span class="co1">#!/usr/bin/python</span><br />
<span class="co1"># -*- coding: utf-8 -*-</span><br />
<span class="co1"># File: reports.py</span><br />
<span class="co1"># Author: Tomás Vírseda</span><br />
<span class="co1"># License: GPL v3</span><br />
<span class="co1"># Description: Report builder for Vazaar</span></p>
<p><span class="br0">&#91;</span>&#8230;<span class="br0">&#93;</span><br />
<span class="kw1">from</span> Cheetah.<span class="me1">Template</span> <span class="kw1">import</span> Template</p>
<p><span class="kw1">class</span> Report<span class="br0">&#40;</span><span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; <span class="kw1">def</span> <span class="kw4">__init__</span><span class="br0">&#40;</span><span class="kw2">self</span>, gui<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &#8230;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &#8230;</p>
<p>&nbsp; &nbsp; <span class="kw1">def</span> build_starthere_report<span class="br0">&#40;</span><span class="kw2">self</span>, params<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; template = GPATH<span class="br0">&#91;</span><span class="st0">&#8216;TEMPLATES&#8217;</span><span class="br0">&#93;</span> + <span class="st0">&#8216;/default.html&#8217;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; report = Template<span class="br0">&#40;</span><span class="kw2">file</span>=template<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; report.<span class="me1">css_content</span> = <span class="kw2">self</span>.<span class="me1">css_content</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; report.<span class="me1">author</span> = <span class="st0">&#8216;Tomás Vírseda García&#8217;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; report.<span class="me1">date</span> = <span class="st0">&#8217;14/12/2010&#8242;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; report.<span class="me1">params</span> = params</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">str</span><span class="br0">&#40;</span>report<span class="br0">&#41;</span><br />
<span class="br0">&#91;</span>&#8230;<span class="br0">&#93;</span></div>
<p>Check the code at vazaarlib/ui/reports.py in the source project repository.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2010-08-16 10:32:37" resource="http://www.vazaar-project.org/blog/archives/365" /><span rel="http://www.vazaar-project.org/blog/archives/365" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/365">Vazaar 0.4.8: a new release for testing</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-08-16 10:32:37" resource="http://www.vazaar-project.org/blog/archives/365" /><span rel="http://www.vazaar-project.org/blog/archives/365" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/365">GUI improvements</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2010-08-16 10:32:37" resource="http://www.vazaar-project.org/blog/archives/365" /><span rel="http://www.vazaar-project.org/blog/archives/365" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/365">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/158" rel="bookmark" title="26/08/2009"><span property="dc:date" content="2010-08-16 10:32:37" resource="http://www.vazaar-project.org/blog/archives/365" /><span rel="http://www.vazaar-project.org/blog/archives/365" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/365">Dynamic SPARQL queries and Datatypes</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/527" rel="bookmark" title="19/08/2010"><span property="dc:date" content="2010-08-16 10:32:37" resource="http://www.vazaar-project.org/blog/archives/365" /><span rel="http://www.vazaar-project.org/blog/archives/365" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/365">PyGTK XDot Widget</span></a></li>
</ul>
<p><!-- Similar Posts took 13.156 ms --></p>
<div class="shr-publisher-365"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/365/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog info updated</title>
		<link>http://www.vazaar-project.org/blog/archives/354</link>
		<comments>http://www.vazaar-project.org/blog/archives/354#comments</comments>
		<pubDate>Fri, 13 Aug 2010 22:46:20 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/354">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[current development]]></category>
		<category><![CDATA[development version]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[screenshots]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=354</guid>
		<description><![CDATA[<p><a href="http://www.vazaar-project.org/blog/screenshots" target="_self">Screenshots</a> for current development version and <a href="http://www.vazaar-project.org/blog/download" target="_self">download</a> info updated.</p>
<p>&#8211;<br />
<em>May the cloud be with you</em><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/214" rel="bookmark" title="06/09/2009"><span property="dc:date" content="2010-08-13 23:46:20" resource="http://www.vazaar-project.org/blog/archives/354" /><span rel="http://www.vazaar-project.org/blog/archives/354" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/354">Vazaar 0.4 (aka Sacabambaspis) released</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2010-08-13 23:46:20" resource="http://www.vazaar-project.org/blog/archives/354" /><span rel="http://www.vazaar-project.org/blog/archives/354" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/354">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2010-08-13 23:46:20" resource="http://www.vazaar-project.org/blog/archives/354" /><span rel="http://www.vazaar-project.org/blog/archives/354" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/354">Vazaar 0.4.8: a new release for testing</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75" rel="bookmark" title="09/06/2009"><span property="dc:date" content="2010-08-13 23:46:20" resource="http://www.vazaar-project.org/blog/archives/354" /><span rel="http://www.vazaar-project.org/blog/archives/354" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/354">About Vazaar 0.4 Beta development</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/24" rel="bookmark" title="28/02/2008"><span property="dc:date" content="2010-08-13 23:46:20" resource="http://www.vazaar-project.org/blog/archives/354" /><span rel="http://www.vazaar-project.org/blog/archives/354" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/354">Dublin Core Metadata Glossary</span></a></li>
</ul>
<p><!-- Similar Posts took 12.205 ms --></p>
<div class="shr-publisher-354"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/news-about-vazaar">News</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/354">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/354#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.vazaar-project.org/blog/screenshots" target="_self">Screenshots</a> for current development version and <a href="http://www.vazaar-project.org/blog/download" target="_self">download</a> info updated.</p>
<p>&#8211;<br />
<em>May the cloud be with you</em><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/214" rel="bookmark" title="06/09/2009"><span property="dc:date" content="2010-08-13 23:46:20" resource="http://www.vazaar-project.org/blog/archives/354" /><span rel="http://www.vazaar-project.org/blog/archives/354" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/354">Vazaar 0.4 (aka Sacabambaspis) released</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2010-08-13 23:46:20" resource="http://www.vazaar-project.org/blog/archives/354" /><span rel="http://www.vazaar-project.org/blog/archives/354" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/354">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2010-08-13 23:46:20" resource="http://www.vazaar-project.org/blog/archives/354" /><span rel="http://www.vazaar-project.org/blog/archives/354" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/354">Vazaar 0.4.8: a new release for testing</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75" rel="bookmark" title="09/06/2009"><span property="dc:date" content="2010-08-13 23:46:20" resource="http://www.vazaar-project.org/blog/archives/354" /><span rel="http://www.vazaar-project.org/blog/archives/354" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/354">About Vazaar 0.4 Beta development</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/24" rel="bookmark" title="28/02/2008"><span property="dc:date" content="2010-08-13 23:46:20" resource="http://www.vazaar-project.org/blog/archives/354" /><span rel="http://www.vazaar-project.org/blog/archives/354" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/354">Dublin Core Metadata Glossary</span></a></li>
</ul>
<p><!-- Similar Posts took 11.687 ms --></p>
<div class="shr-publisher-354"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/354/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Searching strings</title>
		<link>http://www.vazaar-project.org/blog/archives/329</link>
		<comments>http://www.vazaar-project.org/blog/archives/329#comments</comments>
		<pubDate>Wed, 21 Jul 2010 10:53:51 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/329">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[SPARQL Queries]]></category>
		<category><![CDATA[literal]]></category>
		<category><![CDATA[literal search]]></category>
		<category><![CDATA[rdf graph]]></category>
		<category><![CDATA[return result]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[sparql]]></category>
		<category><![CDATA[term query]]></category>
		<category><![CDATA[term result]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=329</guid>
		<description><![CDATA[<p>Well, another thing I learnt today: how to search a given string in a RDF graph but matching only Literals:</p>
<div class="dean_ch" style="white-space: wrap;">
&nbsp; &nbsp; <span class="kw1">def</span> by_term<span class="br0">&#40;</span><span class="kw2">self</span>, search_term<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; query = <span class="st0">&quot;&quot;</span><span class="st0">&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; SELECT DISTINCT ?rid<br />
&nbsp; &nbsp; &nbsp; &nbsp; WHERE {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ?rid ?predicate ?object .<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FILTER isLiteral(?object) .<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FILTER regex(?object, &quot;</span>%s<span class="st0">&quot;, &quot;</span>i<span class="st0">&quot;)<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; ORDER BY ?object<br />
&nbsp; &nbsp; &nbsp; &nbsp; &quot;</span><span class="st0">&quot;&quot;</span> % Literal<span class="br0">&#40;</span>search_term<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; result = run_query<span class="br0">&#40;</span>query, <span class="kw2">self</span>.<span class="me1">graph</span><span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> result.<span class="me1">selected</span><br />
&nbsp;</div>
<p>The most important here is the operator <strong>isLiteral</strong> used in the filters.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/158" rel="bookmark" title="26/08/2009"><span property="dc:date" content="2010-07-21 11:53:51" resource="http://www.vazaar-project.org/blog/archives/329" /><span rel="http://www.vazaar-project.org/blog/archives/329" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/329">Dynamic SPARQL queries and Datatypes</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/155" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-07-21 11:53:51" resource="http://www.vazaar-project.org/blog/archives/329" /><span rel="http://www.vazaar-project.org/blog/archives/329" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/329">Querying remote ontologies from integrated SPARQL editor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-07-21 11:53:51" resource="http://www.vazaar-project.org/blog/archives/329" /><span rel="http://www.vazaar-project.org/blog/archives/329" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/329">GUI improvements</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/155/querying-remote-ontologies" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-07-21 11:53:51" resource="http://www.vazaar-project.org/blog/archives/329" /><span rel="http://www.vazaar-project.org/blog/archives/329" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/329">Querying remote ontologies</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/550" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2010-07-21 11:53:51" resource="http://www.vazaar-project.org/blog/archives/329" /><span rel="http://www.vazaar-project.org/blog/archives/329" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/329">How to fix your sqlite database after corruption</span></a></li>
</ul>
<p><!-- Similar Posts took 13.763 ms --></p>
<div class="shr-publisher-329"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/my-workshop/sparql-queries">SPARQL Queries</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/329">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/329#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>Well, another thing I learnt today: how to search a given string in a RDF graph but matching only Literals:</p>
<div class="dean_ch" style="white-space: wrap;">
&nbsp; &nbsp; <span class="kw1">def</span> by_term<span class="br0">&#40;</span><span class="kw2">self</span>, search_term<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; query = <span class="st0">&quot;&quot;</span><span class="st0">&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; SELECT DISTINCT ?rid<br />
&nbsp; &nbsp; &nbsp; &nbsp; WHERE {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ?rid ?predicate ?object .<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FILTER isLiteral(?object) .<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FILTER regex(?object, &quot;</span>%s<span class="st0">&quot;, &quot;</span>i<span class="st0">&quot;)<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; ORDER BY ?object<br />
&nbsp; &nbsp; &nbsp; &nbsp; &quot;</span><span class="st0">&quot;&quot;</span> % Literal<span class="br0">&#40;</span>search_term<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; result = run_query<span class="br0">&#40;</span>query, <span class="kw2">self</span>.<span class="me1">graph</span><span class="br0">&#41;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> result.<span class="me1">selected</span><br />
&nbsp;</div>
<p>The most important here is the operator <strong>isLiteral</strong> used in the filters.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/158" rel="bookmark" title="26/08/2009"><span property="dc:date" content="2010-07-21 11:53:51" resource="http://www.vazaar-project.org/blog/archives/329" /><span rel="http://www.vazaar-project.org/blog/archives/329" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/329">Dynamic SPARQL queries and Datatypes</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/155" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-07-21 11:53:51" resource="http://www.vazaar-project.org/blog/archives/329" /><span rel="http://www.vazaar-project.org/blog/archives/329" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/329">Querying remote ontologies from integrated SPARQL editor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-07-21 11:53:51" resource="http://www.vazaar-project.org/blog/archives/329" /><span rel="http://www.vazaar-project.org/blog/archives/329" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/329">GUI improvements</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/155/querying-remote-ontologies" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2010-07-21 11:53:51" resource="http://www.vazaar-project.org/blog/archives/329" /><span rel="http://www.vazaar-project.org/blog/archives/329" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/329">Querying remote ontologies</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/550" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2010-07-21 11:53:51" resource="http://www.vazaar-project.org/blog/archives/329" /><span rel="http://www.vazaar-project.org/blog/archives/329" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/329">How to fix your sqlite database after corruption</span></a></li>
</ul>
<p><!-- Similar Posts took 15.202 ms --></p>
<div class="shr-publisher-329"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/329/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vazaar 0.4.8: a new release for testing</title>
		<link>http://www.vazaar-project.org/blog/archives/317</link>
		<comments>http://www.vazaar-project.org/blog/archives/317#comments</comments>
		<pubDate>Sat, 10 Jul 2010 23:30:19 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/317">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[bookmarks]]></category>
		<category><![CDATA[collection]]></category>
		<category><![CDATA[diary]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[hot]]></category>
		<category><![CDATA[launchpad]]></category>
		<category><![CDATA[list resources]]></category>
		<category><![CDATA[nepomuk]]></category>
		<category><![CDATA[new release]]></category>
		<category><![CDATA[notes]]></category>
		<category><![CDATA[older versions]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[report bugs]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[running]]></category>
		<category><![CDATA[semantic web]]></category>
		<category><![CDATA[social semantic desktop]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[vazaar]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=317</guid>
		<description><![CDATA[<p><a href="http://www.vazaar-project.org/blog/wp-content/uploads/Vazaar.png"><img class="size-medium wp-image-318 alignleft" title="Vazaar" src="http://www.vazaar-project.org/blog/wp-content/uploads/Vazaar-300x161.png" alt="Vazaar icon logo" width="300" height="161" /></a></p>
<p>Hi,</p>
<p>another version of Vazaar is out for testing. Get it while hot. There are a lot of changes respect older versions. Now, you can manage easily your notes, diary, bookmarks an other resources. Also, you can display them as graph of connected resources or as a list. Resources can be imported/exported to/from other persons.</p>
<p>Don&#8217;t hesitate to email me with your comments (kaskaras @ gmail.com). Please, visit my launchpad <a title="Vazaar @ Launchpad" href="https://launchpad.net/vazaar" target="_blank">project page</a> for more info, report bugs, ask questions, etc.</p>
<p>.</p>
<p><span id="more-317"></span></p>
<h1>How to get it</h1>
<ul>
<li><a href="http://launchpad.net/vazaar/trunk/vazaar-0.4.8/+download/Vazaar-0.4.8.tar.gz">Direct link</a> to download</li>
<li>From repository: bzr branch lp:~kaskaras/trunk/vazaar vazaar-readonly</li>
<li>From <a href="http://pypi.python.org/pypi?%3Aaction=search&amp;term=vazaar&amp;submit=search" target="_blank">Pypi</a> (updating)</li>
</ul>
<h1>How to install it</h1>
<p>Once unpacked in any arbitrary directory:</p>
<ul>
<li>Exectute it by running:<strong> ./bin/vazaar</strong></li>
</ul>
<ul>
<li>Install it system-wide by running: <strong>sudo python setup.py install</strong></li>
</ul>
<p><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2010-07-11 00:30:19" resource="http://www.vazaar-project.org/blog/archives/317" /><span rel="http://www.vazaar-project.org/blog/archives/317" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/317">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/271" rel="bookmark" title="12/09/2009"><span property="dc:date" content="2010-07-11 00:30:19" resource="http://www.vazaar-project.org/blog/archives/317" /><span rel="http://www.vazaar-project.org/blog/archives/317" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/317">distutils implemented</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2010-07-11 00:30:19" resource="http://www.vazaar-project.org/blog/archives/317" /><span rel="http://www.vazaar-project.org/blog/archives/317" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/317">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/354" rel="bookmark" title="13/08/2010"><span property="dc:date" content="2010-07-11 00:30:19" resource="http://www.vazaar-project.org/blog/archives/317" /><span rel="http://www.vazaar-project.org/blog/archives/317" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/317">Blog info updated</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75/vazaar-04-starthere" rel="bookmark" title="08/06/2009"><span property="dc:date" content="2010-07-11 00:30:19" resource="http://www.vazaar-project.org/blog/archives/317" /><span rel="http://www.vazaar-project.org/blog/archives/317" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/317">vazaar-04-starthere</span></a></li>
</ul>
<p><!-- Similar Posts took 17.708 ms --></p>
<div class="wam_wrap"><h4 class="wam">Attached Files:</h4><ul class="wam_ul"><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/Vazaar.png' class='wam_link'>Vazaar</a></li></ul></div><div class="shr-publisher-317"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/news-about-vazaar">News</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/317">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/317#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.vazaar-project.org/blog/wp-content/uploads/Vazaar.png"><img class="size-medium wp-image-318 alignleft" title="Vazaar" src="http://www.vazaar-project.org/blog/wp-content/uploads/Vazaar-300x161.png" alt="Vazaar icon logo" width="300" height="161" /></a></p>
<p>Hi,</p>
<p>another version of Vazaar is out for testing. Get it while hot. There are a lot of changes respect older versions. Now, you can manage easily your notes, diary, bookmarks an other resources. Also, you can display them as graph of connected resources or as a list. Resources can be imported/exported to/from other persons.</p>
<p>Don&#8217;t hesitate to email me with your comments (kaskaras @ gmail.com). Please, visit my launchpad <a title="Vazaar @ Launchpad" href="https://launchpad.net/vazaar" target="_blank">project page</a> for more info, report bugs, ask questions, etc.</p>
<p>.</p>
<p><span id="more-317"></span></p>
<h1>How to get it</h1>
<ul>
<li><a href="http://launchpad.net/vazaar/trunk/vazaar-0.4.8/+download/Vazaar-0.4.8.tar.gz">Direct link</a> to download</li>
<li>From repository: bzr branch lp:~kaskaras/trunk/vazaar vazaar-readonly</li>
<li>From <a href="http://pypi.python.org/pypi?%3Aaction=search&amp;term=vazaar&amp;submit=search" target="_blank">Pypi</a> (updating)</li>
</ul>
<h1>How to install it</h1>
<p>Once unpacked in any arbitrary directory:</p>
<ul>
<li>Exectute it by running:<strong> ./bin/vazaar</strong></li>
</ul>
<ul>
<li>Install it system-wide by running: <strong>sudo python setup.py install</strong></li>
</ul>
<p><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2010-07-11 00:30:19" resource="http://www.vazaar-project.org/blog/archives/317" /><span rel="http://www.vazaar-project.org/blog/archives/317" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/317">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/271" rel="bookmark" title="12/09/2009"><span property="dc:date" content="2010-07-11 00:30:19" resource="http://www.vazaar-project.org/blog/archives/317" /><span rel="http://www.vazaar-project.org/blog/archives/317" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/317">distutils implemented</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2010-07-11 00:30:19" resource="http://www.vazaar-project.org/blog/archives/317" /><span rel="http://www.vazaar-project.org/blog/archives/317" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/317">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/354" rel="bookmark" title="13/08/2010"><span property="dc:date" content="2010-07-11 00:30:19" resource="http://www.vazaar-project.org/blog/archives/317" /><span rel="http://www.vazaar-project.org/blog/archives/317" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/317">Blog info updated</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75/vazaar-04-starthere" rel="bookmark" title="08/06/2009"><span property="dc:date" content="2010-07-11 00:30:19" resource="http://www.vazaar-project.org/blog/archives/317" /><span rel="http://www.vazaar-project.org/blog/archives/317" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/317">vazaar-04-starthere</span></a></li>
</ul>
<p><!-- Similar Posts took 11.585 ms --></p>
<div class="wam_wrap"><h4 class="wam">Attached Files:</h4><ul class="wam_ul"><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/Vazaar.png' class='wam_link'>Vazaar</a></li></ul></div><div class="shr-publisher-317"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/317/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is coming in the next version</title>
		<link>http://www.vazaar-project.org/blog/archives/298</link>
		<comments>http://www.vazaar-project.org/blog/archives/298#comments</comments>
		<pubDate>Sun, 23 May 2010 16:50:59 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/298">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[annoying thing]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[Contacts]]></category>
		<category><![CDATA[d-bus]]></category>
		<category><![CDATA[first moment]]></category>
		<category><![CDATA[glitches]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[icons]]></category>
		<category><![CDATA[mimetype]]></category>
		<category><![CDATA[nautilus]]></category>
		<category><![CDATA[nepomuk]]></category>
		<category><![CDATA[new resources]]></category>
		<category><![CDATA[PersonalInformationModel]]></category>
		<category><![CDATA[plugin system]]></category>
		<category><![CDATA[resources resources]]></category>
		<category><![CDATA[restore]]></category>
		<category><![CDATA[sparql]]></category>
		<category><![CDATA[tag cloud]]></category>
		<category><![CDATA[target]]></category>
		<category><![CDATA[time one]]></category>
		<category><![CDATA[website resources]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=298</guid>
		<description><![CDATA[<p>Despite of the fact I don&#8217;t post in this weblog most often I think I haven&#8217;t wasted my spare time (my current work isn&#8217;t related with anything about this, yet). Instead it has been very productive and I am very happy with last results. In the end, I&#8217;m starting to see something useful.</p>
<p>Most of time, I&#8217;ve been reading more and more about NEPOMUK and playing with SPARQL queries. I have to recognize that it not that simple as I thought in a first moment but I&#8217;ll talk about this [intlink id="41" type="category" target="_self"]later[/intlink].</p>
<p>I have something to say about RDFLib: it is wonderful. From time to time I have to deal with some glitches but, most of them, are related to my own code. Anyway I am not using all the potential that this library offers.</p>
<p><span id="more-298"></span></p>
<p>Current work:</p>
<ul>
<li>Vazaar is more stable than before. But (there is always a but) sometimes it crashes with a &#8220;segment fault&#8221;. This behavior is random and it is related with &#8216;Website&#8217; resources.</li>
<li>Resources are not added directly to database. Before that, resources are passed to a <strong>queue</strong>. That means that you can enqueue new resources without waiting to finish the last one. Despite of Vazaar is designed to work with threads sometimes the GUI is blocked. This part is the most difficult and annoying thing that I&#8217;ve found. Someone smartest than me should take a look to the code.</li>
<li>By now, it is only possible to create/edit pimo:Notes (it&#8217;s finished but needs a deep revision)</li>
<li>&#8220;<strong>Copy &amp; Paste</strong>&#8221; mode is working very well. If you copy any text from anywhere from your Desktop it will be added as a note. But Vazaar can recognize if it is more than simple text: if you copy an URL, the text will be added as a Website or if you copy a file from Nautilus the text will be added as a resource depending on its mimetype.<br />
Also, clipboard monitoring can be toggled at any time.</li>
<li>One of the most important features that I want for Vazaar is the possibility of <strong>displaying the resources content</strong>. Right now, Vazaar is able to display text-based resources (like the source code from a given program), audio, video, images or websites. Other resources like OpenOffice.org documents, compressed files, ISO images, etc. are executed in its own program.</li>
<li><strong>Backup &amp; Restore </strong>of your knowledge database. Although it is working very well it is not finished yet.</li>
<li>Basic<strong> D-Bus support</strong> implemented. Although I haven&#8217;t yet decided an API, in the future, others applications will be able to interact with Vazaar to query its database, add resources, etc. &#8230;</li>
<li>A basic but extensible <strong>plugin system</strong> based on hooks is available and working. I have tested it developing smalls plugins which extends the funcionality (send notes to twitter, extend menus, ..). In the future I hope to extend the funcionality of Vazaar by releasing plugins instead of releasing new version of this application.</li>
<li>The <strong>SPARQL Editor </strong>have been improved: now it groups triples according to its subject.</li>
<li><strong>New icons</strong> to describe resources</li>
<li>I&#8217;ve developed a new <strong>Tag Cloud widget</strong>. Websites are analyzed getting their tags (if any). Tags are saved as resources as well.</li>
<li>I&#8217;ve started to define the <strong>PersonalInformationModel</strong>. The Knowledge Database must know who is the owner of (meta)data. This is necessary to share info with other people. Right now it is defined by a set of triples which define a pimo:PersonalInformationModel, which has a pimo:hasOwner. The owner is defined by a nfo:Contact</li>
<li>Another feature that I am trying to handle is related to bug <a title="  	 vazaar's minimum size on small screen" href="https://bugs.launchpad.net/vazaar/+bug/425877" target="_blank">lp:425877</a> in lauchpad. I&#8217;m trying to keep Vazaar window size as small as possible in order to be used in small devices.</li>
</ul>
<p style="text-align: center;">
<div class="ngg-galleryoverview" id="ngg-gallery-3-298">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-59" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-1.png" title=" " class="shutterset_set_3" >
								<img title="Vazaar in Main Menu" alt="Vazaar in Main Menu" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-1.png" width="85" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-60" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-10.png" title=" " class="shutterset_set_3" >
								<img title="Tags" alt="Tags" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-10.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-61" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-11.png" title=" " class="shutterset_set_3" >
								<img title="Explorer" alt="Explorer" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-11.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-62" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-12.png" title=" " class="shutterset_set_3" >
								<img title="Start Here Report" alt="Start Here Report" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-12.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-63" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-13.png" title=" " class="shutterset_set_3" >
								<img title="About Vazaar" alt="About Vazaar" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-13.png" width="94" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-64" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-2.png" title=" " class="shutterset_set_3" >
								<img title="Vazaar icon panel" alt="Vazaar icon panel" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-2.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-65" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-3.png" title=" " class="shutterset_set_3" >
								<img title="Adding new resources" alt="Adding new resources" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-3.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-66" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-4.png" title=" " class="shutterset_set_3" >
								<img title="Contextual menu for resources" alt="Contextual menu for resources" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-4.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-67" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-5.png" title=" " class="shutterset_set_3" >
								<img title="SPARQL Editor" alt="SPARQL Editor" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-5.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-68" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-6.png" title=" " class="shutterset_set_3" >
								<img title="Tag management" alt="Tag management" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-6.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-69" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-7.png" title=" " class="shutterset_set_3" >
								<img title="Collections" alt="Collections" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-7.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-70" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-8.png" title=" " class="shutterset_set_3" >
								<img title="Notes" alt="Notes" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-8.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-71" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-9.png" title=" " class="shutterset_set_3" >
								<img title="Posts" alt="Posts" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-9.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

</p>
<p>Work to be done before releasing the next 0.5 version:</p>
<ul>
<li>Be able to <strong>handle other kinds of resources</strong> like: pimo:BlogPost (diary entries), pimo:Topic, pimo:Person and pimo:PersonGroup (nco:Contacts), pimo:Organization, pimo:Project, pimo:Event, pimo:Meeting, tmo:Task, and tmo:TaskGroups, nfo:Bookmark and pimo:Collection</li>
<li>Be able to <strong>define relations between resources</strong></li>
<li>Temporal <strong>bags</strong>: a way to make operations over different resources at the same time. Think in it as virtual collections of resources.</li>
<li><strong>Annotate</strong> resources. Any kind of resource can have any number of annotations.</li>
<li>Support for <strong>i18n</strong> (make Vazaar translatable)</li>
</ul>
<p>I&#8217;ll try to develop all of this along the summer and I hope to have the new version ready for production before next Ubuntu release. Also, I hope to have Debian packages ready to install easily. At the same time, Vazaar be able to be installed from Pypi.</p>
<p>If you are interested in the development of this application (and you are really welcome), take a look to my <a title="Vazaar @ Launchpad" href="https://launchpad.net/vazaar" target="_blank">Launchpad</a> webpage. Check out <a href="https://code.launchpad.net/%7Ekaskaras/vazaar/trunk">lp:~kaskaras/vazaar/trunk</a> for last bits (<em>bzr branch lp:~kaskaras/vazaar/trunk</em>)<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2010-05-23 17:50:59" resource="http://www.vazaar-project.org/blog/archives/298" /><span rel="http://www.vazaar-project.org/blog/archives/298" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/298">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75" rel="bookmark" title="09/06/2009"><span property="dc:date" content="2010-05-23 17:50:59" resource="http://www.vazaar-project.org/blog/archives/298" /><span rel="http://www.vazaar-project.org/blog/archives/298" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/298">About Vazaar 0.4 Beta development</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75/vazaar-04-starthere" rel="bookmark" title="08/06/2009"><span property="dc:date" content="2010-05-23 17:50:59" resource="http://www.vazaar-project.org/blog/archives/298" /><span rel="http://www.vazaar-project.org/blog/archives/298" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/298">vazaar-04-starthere</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/558" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2010-05-23 17:50:59" resource="http://www.vazaar-project.org/blog/archives/298" /><span rel="http://www.vazaar-project.org/blog/archives/298" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/298">New custom timeline widget</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/158" rel="bookmark" title="26/08/2009"><span property="dc:date" content="2010-05-23 17:50:59" resource="http://www.vazaar-project.org/blog/archives/298" /><span rel="http://www.vazaar-project.org/blog/archives/298" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/298">Dynamic SPARQL queries and Datatypes</span></a></li>
</ul>
<p><!-- Similar Posts took 20.279 ms --></p>
<div class="shr-publisher-298"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/news-about-vazaar">News</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/298">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/298#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>Despite of the fact I don&#8217;t post in this weblog most often I think I haven&#8217;t wasted my spare time (my current work isn&#8217;t related with anything about this, yet). Instead it has been very productive and I am very happy with last results. In the end, I&#8217;m starting to see something useful.</p>
<p>Most of time, I&#8217;ve been reading more and more about NEPOMUK and playing with SPARQL queries. I have to recognize that it not that simple as I thought in a first moment but I&#8217;ll talk about this [intlink id="41" type="category" target="_self"]later[/intlink].</p>
<p>I have something to say about RDFLib: it is wonderful. From time to time I have to deal with some glitches but, most of them, are related to my own code. Anyway I am not using all the potential that this library offers.</p>
<p><span id="more-298"></span></p>
<p>Current work:</p>
<ul>
<li>Vazaar is more stable than before. But (there is always a but) sometimes it crashes with a &#8220;segment fault&#8221;. This behavior is random and it is related with &#8216;Website&#8217; resources.</li>
<li>Resources are not added directly to database. Before that, resources are passed to a <strong>queue</strong>. That means that you can enqueue new resources without waiting to finish the last one. Despite of Vazaar is designed to work with threads sometimes the GUI is blocked. This part is the most difficult and annoying thing that I&#8217;ve found. Someone smartest than me should take a look to the code.</li>
<li>By now, it is only possible to create/edit pimo:Notes (it&#8217;s finished but needs a deep revision)</li>
<li>&#8220;<strong>Copy &amp; Paste</strong>&#8221; mode is working very well. If you copy any text from anywhere from your Desktop it will be added as a note. But Vazaar can recognize if it is more than simple text: if you copy an URL, the text will be added as a Website or if you copy a file from Nautilus the text will be added as a resource depending on its mimetype.<br />
Also, clipboard monitoring can be toggled at any time.</li>
<li>One of the most important features that I want for Vazaar is the possibility of <strong>displaying the resources content</strong>. Right now, Vazaar is able to display text-based resources (like the source code from a given program), audio, video, images or websites. Other resources like OpenOffice.org documents, compressed files, ISO images, etc. are executed in its own program.</li>
<li><strong>Backup &amp; Restore </strong>of your knowledge database. Although it is working very well it is not finished yet.</li>
<li>Basic<strong> D-Bus support</strong> implemented. Although I haven&#8217;t yet decided an API, in the future, others applications will be able to interact with Vazaar to query its database, add resources, etc. &#8230;</li>
<li>A basic but extensible <strong>plugin system</strong> based on hooks is available and working. I have tested it developing smalls plugins which extends the funcionality (send notes to twitter, extend menus, ..). In the future I hope to extend the funcionality of Vazaar by releasing plugins instead of releasing new version of this application.</li>
<li>The <strong>SPARQL Editor </strong>have been improved: now it groups triples according to its subject.</li>
<li><strong>New icons</strong> to describe resources</li>
<li>I&#8217;ve developed a new <strong>Tag Cloud widget</strong>. Websites are analyzed getting their tags (if any). Tags are saved as resources as well.</li>
<li>I&#8217;ve started to define the <strong>PersonalInformationModel</strong>. The Knowledge Database must know who is the owner of (meta)data. This is necessary to share info with other people. Right now it is defined by a set of triples which define a pimo:PersonalInformationModel, which has a pimo:hasOwner. The owner is defined by a nfo:Contact</li>
<li>Another feature that I am trying to handle is related to bug <a title="  	 vazaar's minimum size on small screen" href="https://bugs.launchpad.net/vazaar/+bug/425877" target="_blank">lp:425877</a> in lauchpad. I&#8217;m trying to keep Vazaar window size as small as possible in order to be used in small devices.</li>
</ul>
<p style="text-align: center;">
<div class="ngg-galleryoverview" id="ngg-gallery-3-298">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-59" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-1.png" title=" " class="shutterset_set_3" >
								<img title="Vazaar in Main Menu" alt="Vazaar in Main Menu" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-1.png" width="85" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-60" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-10.png" title=" " class="shutterset_set_3" >
								<img title="Tags" alt="Tags" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-10.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-61" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-11.png" title=" " class="shutterset_set_3" >
								<img title="Explorer" alt="Explorer" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-11.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-62" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-12.png" title=" " class="shutterset_set_3" >
								<img title="Start Here Report" alt="Start Here Report" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-12.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-63" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-13.png" title=" " class="shutterset_set_3" >
								<img title="About Vazaar" alt="About Vazaar" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-13.png" width="94" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-64" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-2.png" title=" " class="shutterset_set_3" >
								<img title="Vazaar icon panel" alt="Vazaar icon panel" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-2.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-65" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-3.png" title=" " class="shutterset_set_3" >
								<img title="Adding new resources" alt="Adding new resources" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-3.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-66" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-4.png" title=" " class="shutterset_set_3" >
								<img title="Contextual menu for resources" alt="Contextual menu for resources" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-4.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-67" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-5.png" title=" " class="shutterset_set_3" >
								<img title="SPARQL Editor" alt="SPARQL Editor" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-5.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-68" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-6.png" title=" " class="shutterset_set_3" >
								<img title="Tag management" alt="Tag management" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-6.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-69" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-7.png" title=" " class="shutterset_set_3" >
								<img title="Collections" alt="Collections" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-7.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-70" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-8.png" title=" " class="shutterset_set_3" >
								<img title="Notes" alt="Notes" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-8.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-71" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/vazaar0483-9.png" title=" " class="shutterset_set_3" >
								<img title="Posts" alt="Posts" src="http://www.vazaar-project.org/blog/wp-content/gallery/vazaar-0-5-development/thumbs/thumbs_vazaar0483-9.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

</p>
<p>Work to be done before releasing the next 0.5 version:</p>
<ul>
<li>Be able to <strong>handle other kinds of resources</strong> like: pimo:BlogPost (diary entries), pimo:Topic, pimo:Person and pimo:PersonGroup (nco:Contacts), pimo:Organization, pimo:Project, pimo:Event, pimo:Meeting, tmo:Task, and tmo:TaskGroups, nfo:Bookmark and pimo:Collection</li>
<li>Be able to <strong>define relations between resources</strong></li>
<li>Temporal <strong>bags</strong>: a way to make operations over different resources at the same time. Think in it as virtual collections of resources.</li>
<li><strong>Annotate</strong> resources. Any kind of resource can have any number of annotations.</li>
<li>Support for <strong>i18n</strong> (make Vazaar translatable)</li>
</ul>
<p>I&#8217;ll try to develop all of this along the summer and I hope to have the new version ready for production before next Ubuntu release. Also, I hope to have Debian packages ready to install easily. At the same time, Vazaar be able to be installed from Pypi.</p>
<p>If you are interested in the development of this application (and you are really welcome), take a look to my <a title="Vazaar @ Launchpad" href="https://launchpad.net/vazaar" target="_blank">Launchpad</a> webpage. Check out <a href="https://code.launchpad.net/%7Ekaskaras/vazaar/trunk">lp:~kaskaras/vazaar/trunk</a> for last bits (<em>bzr branch lp:~kaskaras/vazaar/trunk</em>)<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2010-05-23 17:50:59" resource="http://www.vazaar-project.org/blog/archives/298" /><span rel="http://www.vazaar-project.org/blog/archives/298" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/298">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75" rel="bookmark" title="09/06/2009"><span property="dc:date" content="2010-05-23 17:50:59" resource="http://www.vazaar-project.org/blog/archives/298" /><span rel="http://www.vazaar-project.org/blog/archives/298" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/298">About Vazaar 0.4 Beta development</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75/vazaar-04-starthere" rel="bookmark" title="08/06/2009"><span property="dc:date" content="2010-05-23 17:50:59" resource="http://www.vazaar-project.org/blog/archives/298" /><span rel="http://www.vazaar-project.org/blog/archives/298" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/298">vazaar-04-starthere</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/558" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2010-05-23 17:50:59" resource="http://www.vazaar-project.org/blog/archives/298" /><span rel="http://www.vazaar-project.org/blog/archives/298" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/298">New custom timeline widget</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/158" rel="bookmark" title="26/08/2009"><span property="dc:date" content="2010-05-23 17:50:59" resource="http://www.vazaar-project.org/blog/archives/298" /><span rel="http://www.vazaar-project.org/blog/archives/298" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/298">Dynamic SPARQL queries and Datatypes</span></a></li>
</ul>
<p><!-- Similar Posts took 18.474 ms --></p>
<div class="shr-publisher-298"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/298/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>distutils implemented</title>
		<link>http://www.vazaar-project.org/blog/archives/271</link>
		<comments>http://www.vazaar-project.org/blog/archives/271#comments</comments>
		<pubDate>Sat, 12 Sep 2009 00:48:39 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/271">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[distutils]]></category>
		<category><![CDATA[gettext]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[launch]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[python2.5]]></category>
		<category><![CDATA[python2.6]]></category>
		<category><![CDATA[setup.py]]></category>
		<category><![CDATA[tarball]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=271</guid>
		<description><![CDATA[<p>Finally, I got the way to implement distutils into Vazaar. It lacks support for i18n/gettext but it is in the way. I&#8217;ve released a new tarball. You can launch it as developer inside your home with the command ./launch</p>
<p>But if you prefer a wide-system install, you must use the following command:</p>
<p>sudo python2.5 setup.py install</p>
<p>You can find an entry under Applications -&gt; Office -&gt; Vazaar</p>
<p>python 2.6 also works but it throws warnings.</p>
<p>Please, note that you can NOT combine different versions of python because database sqlite formats differs each from other.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2009-09-12 01:48:39" resource="http://www.vazaar-project.org/blog/archives/271" /><span rel="http://www.vazaar-project.org/blog/archives/271" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/271">Vazaar 0.4.8: a new release for testing</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/214" rel="bookmark" title="06/09/2009"><span property="dc:date" content="2009-09-12 01:48:39" resource="http://www.vazaar-project.org/blog/archives/271" /><span rel="http://www.vazaar-project.org/blog/archives/271" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/271">Vazaar 0.4 (aka Sacabambaspis) released</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2009-09-12 01:48:39" resource="http://www.vazaar-project.org/blog/archives/271" /><span rel="http://www.vazaar-project.org/blog/archives/271" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/271">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/550" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2009-09-12 01:48:39" resource="http://www.vazaar-project.org/blog/archives/271" /><span rel="http://www.vazaar-project.org/blog/archives/271" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/271">How to fix your sqlite database after corruption</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/527" rel="bookmark" title="19/08/2010"><span property="dc:date" content="2009-09-12 01:48:39" resource="http://www.vazaar-project.org/blog/archives/271" /><span rel="http://www.vazaar-project.org/blog/archives/271" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/271">PyGTK XDot Widget</span></a></li>
</ul>
<p><!-- Similar Posts took 14.538 ms --></p>
<div class="shr-publisher-271"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/my-workshop/python-my-workshop">Python</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/271">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/271#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>Finally, I got the way to implement distutils into Vazaar. It lacks support for i18n/gettext but it is in the way. I&#8217;ve released a new tarball. You can launch it as developer inside your home with the command ./launch</p>
<p>But if you prefer a wide-system install, you must use the following command:</p>
<p>sudo python2.5 setup.py install</p>
<p>You can find an entry under Applications -&gt; Office -&gt; Vazaar</p>
<p>python 2.6 also works but it throws warnings.</p>
<p>Please, note that you can NOT combine different versions of python because database sqlite formats differs each from other.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2009-09-12 01:48:39" resource="http://www.vazaar-project.org/blog/archives/271" /><span rel="http://www.vazaar-project.org/blog/archives/271" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/271">Vazaar 0.4.8: a new release for testing</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/214" rel="bookmark" title="06/09/2009"><span property="dc:date" content="2009-09-12 01:48:39" resource="http://www.vazaar-project.org/blog/archives/271" /><span rel="http://www.vazaar-project.org/blog/archives/271" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/271">Vazaar 0.4 (aka Sacabambaspis) released</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2009-09-12 01:48:39" resource="http://www.vazaar-project.org/blog/archives/271" /><span rel="http://www.vazaar-project.org/blog/archives/271" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/271">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/550" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2009-09-12 01:48:39" resource="http://www.vazaar-project.org/blog/archives/271" /><span rel="http://www.vazaar-project.org/blog/archives/271" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/271">How to fix your sqlite database after corruption</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/527" rel="bookmark" title="19/08/2010"><span property="dc:date" content="2009-09-12 01:48:39" resource="http://www.vazaar-project.org/blog/archives/271" /><span rel="http://www.vazaar-project.org/blog/archives/271" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/271">PyGTK XDot Widget</span></a></li>
</ul>
<p><!-- Similar Posts took 12.040 ms --></p>
<div class="shr-publisher-271"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/271/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vazaar 0.4 (aka Sacabambaspis) released</title>
		<link>http://www.vazaar-project.org/blog/archives/214</link>
		<comments>http://www.vazaar-project.org/blog/archives/214#comments</comments>
		<pubDate>Sun, 06 Sep 2009 00:16:05 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/214">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[0.4]]></category>
		<category><![CDATA[beautifulsoup]]></category>
		<category><![CDATA[collection]]></category>
		<category><![CDATA[download page]]></category>
		<category><![CDATA[feedparser]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[lxml]]></category>
		<category><![CDATA[model works]]></category>
		<category><![CDATA[PIM]]></category>
		<category><![CDATA[proof of concept]]></category>
		<category><![CDATA[pygtk]]></category>
		<category><![CDATA[pynotify]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rdf]]></category>
		<category><![CDATA[rdflib]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[screenshot page]]></category>
		<category><![CDATA[semantic model]]></category>
		<category><![CDATA[semantic web]]></category>
		<category><![CDATA[serializer]]></category>
		<category><![CDATA[tag widget]]></category>
		<category><![CDATA[vazaar]]></category>
		<category><![CDATA[web vision]]></category>
		<category><![CDATA[xml parser]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=214</guid>
		<description><![CDATA[<p>Hi everybody,</p>
<p>a new version of vazaar have been released for testing purposes. Although it&#8217;s stable you can consider it as proof of concept.</p>
<p>This version is a redesign of the previous one. While the old one was developed in C, the new one is being developed with Python. Also, I&#8217;ve been studying a new approach. Instead of work with tags and tagging operations, the new version is powered by the semantic web vision, ideas and tools.</p>
<p>I&#8217;d like to highlight RDFLib, a RDF library containing an RDF triple store and RDF/XML parser/serializer which deals with the logic of the application.</p>
<p>Go to the <a title="Download lastes version of Vazaar" href="http://www.vazaar-project.org/blog/download" target="_self">Download</a> page to get it. Check the <a title="Vazaar 0.4 screenshots" href="http://www.vazaar-project.org/blog/screenshots" target="_self">screenshot</a> page as well.</p>
<p>Development is carried out at <a title="Vazaar at Launchpad" href="https://launchpad.net/vazaar" target="_blank">Lauchpad</a>.</p>
<p>Now that I understand how a semantic model works I have more and better ideas to implement.</p>
<p>Next version will be released, hopefully, before this year ends.</p>
<p>Enjoy it.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/354" rel="bookmark" title="13/08/2010"><span property="dc:date" content="2009-09-06 01:16:05" resource="http://www.vazaar-project.org/blog/archives/214" /><span rel="http://www.vazaar-project.org/blog/archives/214" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/214">Blog info updated</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2009-09-06 01:16:05" resource="http://www.vazaar-project.org/blog/archives/214" /><span rel="http://www.vazaar-project.org/blog/archives/214" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/214">Vazaar 0.4.8: a new release for testing</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2009-09-06 01:16:05" resource="http://www.vazaar-project.org/blog/archives/214" /><span rel="http://www.vazaar-project.org/blog/archives/214" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/214">GUI improvements</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/550" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2009-09-06 01:16:05" resource="http://www.vazaar-project.org/blog/archives/214" /><span rel="http://www.vazaar-project.org/blog/archives/214" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/214">How to fix your sqlite database after corruption</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2009-09-06 01:16:05" resource="http://www.vazaar-project.org/blog/archives/214" /><span rel="http://www.vazaar-project.org/blog/archives/214" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/214">What is coming in the next version</span></a></li>
</ul>
<p><!-- Similar Posts took 14.449 ms --></p>
<div class="shr-publisher-214"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/news-about-vazaar">News</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/214">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/214#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>Hi everybody,</p>
<p>a new version of vazaar have been released for testing purposes. Although it&#8217;s stable you can consider it as proof of concept.</p>
<p>This version is a redesign of the previous one. While the old one was developed in C, the new one is being developed with Python. Also, I&#8217;ve been studying a new approach. Instead of work with tags and tagging operations, the new version is powered by the semantic web vision, ideas and tools.</p>
<p>I&#8217;d like to highlight RDFLib, a RDF library containing an RDF triple store and RDF/XML parser/serializer which deals with the logic of the application.</p>
<p>Go to the <a title="Download lastes version of Vazaar" href="http://www.vazaar-project.org/blog/download" target="_self">Download</a> page to get it. Check the <a title="Vazaar 0.4 screenshots" href="http://www.vazaar-project.org/blog/screenshots" target="_self">screenshot</a> page as well.</p>
<p>Development is carried out at <a title="Vazaar at Launchpad" href="https://launchpad.net/vazaar" target="_blank">Lauchpad</a>.</p>
<p>Now that I understand how a semantic model works I have more and better ideas to implement.</p>
<p>Next version will be released, hopefully, before this year ends.</p>
<p>Enjoy it.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/354" rel="bookmark" title="13/08/2010"><span property="dc:date" content="2009-09-06 01:16:05" resource="http://www.vazaar-project.org/blog/archives/214" /><span rel="http://www.vazaar-project.org/blog/archives/214" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/214">Blog info updated</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2009-09-06 01:16:05" resource="http://www.vazaar-project.org/blog/archives/214" /><span rel="http://www.vazaar-project.org/blog/archives/214" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/214">Vazaar 0.4.8: a new release for testing</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2009-09-06 01:16:05" resource="http://www.vazaar-project.org/blog/archives/214" /><span rel="http://www.vazaar-project.org/blog/archives/214" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/214">GUI improvements</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/550" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2009-09-06 01:16:05" resource="http://www.vazaar-project.org/blog/archives/214" /><span rel="http://www.vazaar-project.org/blog/archives/214" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/214">How to fix your sqlite database after corruption</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2009-09-06 01:16:05" resource="http://www.vazaar-project.org/blog/archives/214" /><span rel="http://www.vazaar-project.org/blog/archives/214" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/214">What is coming in the next version</span></a></li>
</ul>
<p><!-- Similar Posts took 13.923 ms --></p>
<div class="shr-publisher-214"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/214/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamic SPARQL queries and Datatypes</title>
		<link>http://www.vazaar-project.org/blog/archives/158</link>
		<comments>http://www.vazaar-project.org/blog/archives/158#comments</comments>
		<pubDate>Wed, 26 Aug 2009 09:24:44 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/158">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[SPARQL Queries]]></category>
		<category><![CDATA[bit floating point]]></category>
		<category><![CDATA[datatype]]></category>
		<category><![CDATA[datatypes]]></category>
		<category><![CDATA[decimal numbers]]></category>
		<category><![CDATA[duration time]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[dynamic query]]></category>
		<category><![CDATA[entity references]]></category>
		<category><![CDATA[PIMO]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[rdflib]]></category>
		<category><![CDATA[resource identifier]]></category>
		<category><![CDATA[schema definition language]]></category>
		<category><![CDATA[sparql]]></category>
		<category><![CDATA[sparql query]]></category>
		<category><![CDATA[time durations]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=158</guid>
		<description><![CDATA[<p>After some headaches I&#8217;ve found how to write dynamic SPARQL queries by passing parameters. For example, to query graph about resources collected last hour this code could be a first approach:</p>
<div class="dean_ch" style="white-space: wrap;">#!/usr/bin/env python<br />
# Dynamic query (example code)</p>
<p>from datetime import datetime<br />
import rdflib<br />
from namespaces import XSD</p>
<p>def last_day():<br />
&nbsp; &nbsp; &quot;&quot;&quot; get date &quot;&quot;&quot;<br />
&nbsp; &nbsp; now = datetime.now()<br />
&nbsp; &nbsp; date = now &#8211; timedelta(hours=24)</p>
<p>&nbsp; &nbsp; return date</p>
<p>def get_date_filtered_query():<br />
&nbsp; &nbsp; &quot;&quot;&quot; build query &quot;&quot;&quot;<br />
&nbsp; &nbsp; period = last_day()<br />
&nbsp; &nbsp; mydate = Literal(period, datatype=URIRef(XSD))</p>
<p>&nbsp; &nbsp; query = &quot;&quot;&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; PREFIX rdf: &lt;http ://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; PREFIX nie: &lt;http ://www.semanticdesktop.org/ontologies/nie/&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; PREFIX nfo: &lt;http ://www.semanticdesktop.org/ontologies/nfo/&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; PREFIX nao: &lt;http ://www.semanticdesktop.org/ontologies/nao/&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; PREFIX pimo: &lt;http ://www.semanticdesktop.org/ontologies/pimo/&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; PREFIX xsd: &lt;/http&gt;&lt;http ://www.w3.org/2001/XMLSchema#&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; SELECT ?id<br />
&nbsp; &nbsp; &nbsp; &nbsp; WHERE<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ?id rdf:type ?type .<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ?id nao:created ?date .<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FILTER (?type != pimo:Collection) .<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FILTER (xsd:dateTime(?date) &gt;= xsd:dateTime(&quot;%s&quot;)) .<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; ORDER BY DESC(?date)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot; % mydate</p>
<p>&nbsp; &nbsp; return query</p>
<p># query graph<br />
query = get_date_filtered_query()<br />
result = graph.query(query)</p>
<p>for id in result.selected:<br />
&nbsp; &nbsp; print id&lt;/http&gt;</div>
<p><span id="more-158"></span></p>
<p>For more information is worth to take a look <a title="XML Schema datatypes" href="http://www.w3.org/TR/xmlschema11-2/" target="_blank">W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes</a>. A self explained list of XML datatypes:</p>
<div>
<dl>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77009.html">xsd:anyURI</a> &#8211; URI (Uniform Resource Identifier) </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77017.html">xsd:base64Binary</a> &#8211; Binary content coded as &#8220;base64&#8243; </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77025.html">xsd:boolean</a> &#8211; Boolean (true or false) </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77033.html">xsd:byte</a> &#8211; Signed value of 8 bits </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77041.html">xsd:date</a> &#8211; Gregorian calendar date </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77049.html">xsd:dateTime</a> &#8211; Instant of time (Gregorian calendar) </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77057.html">xsd:decimal</a> &#8211; Decimal numbers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77065.html">xsd:double</a> &#8211; IEEE 64-bit floating-point </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77073.html">xsd:duration</a> &#8211; Time durations </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77080.html">xsd:ENTITIES</a> &#8211; Whitespace-separated list of unparsed entity references </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77087.html">xsd:ENTITY</a> &#8211; Reference to an unparsed entity </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77095.html">xsd:float</a> &#8211; IEEE 32-bit floating-point </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77103.html">xsd:gDay</a> &#8211; Recurring period of time: monthly day </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77111.html">xsd:gMonth</a> &#8211; Recurring period of time: yearly month </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77119.html">xsd:gMonthDay</a> &#8211; Recurring period of time: yearly day </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77127.html">xsd:gYear</a> &#8211; Period of one year </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77135.html">xsd:gYearMonth</a> &#8211; Period of one month </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77143.html">xsd:hexBinary</a> &#8211; Binary contents coded in hexadecimal </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77151.html">xsd:ID</a> &#8211; Definition of unique identifiers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77159.html">xsd:IDREF</a> &#8211; Definition of references to unique identifiers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77167.html">xsd:IDREFS</a> &#8211; Definition of lists of references to unique identifiers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77175.html">xsd:int</a> &#8211; 32-bit signed integers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77183.html">xsd:integer</a> &#8211; Signed integers of arbitrary length </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77191.html">xsd:language</a> &#8211; RFC 1766 language codes </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77199.html">xsd:long</a> &#8211; 64-bit signed integers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77207.html">xsd:Name</a> &#8211; XML 1.O name </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77215.html">xsd:NCName</a> &#8211; Unqualified names </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77223.html">xsd:negativeInteger</a> &#8211; Strictly negative integers of arbitrary length </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77231.html">xsd:NMTOKEN</a> &#8211; XML 1.0 name token (NMTOKEN) </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77239.html">xsd:NMTOKENS</a> &#8211; List of XML 1.0 name tokens (NMTOKEN) </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77247.html">xsd:nonNegativeInteger</a> &#8211; Integers of arbitrary length positive or equal to zero </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77255.html">xsd:nonPositiveInteger</a> &#8211; Integers of arbitrary length negative or equal to zero </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77263.html">xsd:normalizedString</a> &#8211; Whitespace-replaced strings </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77271.html">xsd:NOTATION</a> &#8211; Emulation of the XML 1.0 feature </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77279.html">xsd:positiveInteger</a> &#8211; Strictly positive integers of arbitrary length</dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77287.html">xsd:QName</a> &#8211; Namespaces in XML-qualified names </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77295.html">xsd:short</a> &#8211; 32-bit signed integers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77303.html">xsd:string</a> &#8211; Any string </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77311.html">xsd:time</a> &#8211; Point in time recurring each day </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77319.html">xsd:token</a> &#8211; Whitespace-replaced and collapsed strings </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77327.html">xsd:unsignedByte</a> &#8211; Unsigned value of 8 bits </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77335.html">xsd:unsignedInt</a> &#8211; Unsigned integer of 32 bits </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77343.html">xsd:unsignedLong</a> &#8211; Unsigned integer of 64 bits </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77351.html">xsd:unsignedShort</a> &#8211; Unsigned integer of 16 bits </dt>
</dl>
</div>
<p><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2009-08-26 10:24:44" resource="http://www.vazaar-project.org/blog/archives/158" /><span rel="http://www.vazaar-project.org/blog/archives/158" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/158">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/17" rel="bookmark" title="02/12/2007"><span property="dc:date" content="2009-08-26 10:24:44" resource="http://www.vazaar-project.org/blog/archives/158" /><span rel="http://www.vazaar-project.org/blog/archives/158" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/158">Extrayendo metadatos: libextractor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/155" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2009-08-26 10:24:44" resource="http://www.vazaar-project.org/blog/archives/158" /><span rel="http://www.vazaar-project.org/blog/archives/158" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/158">Querying remote ontologies from integrated SPARQL editor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/33" rel="bookmark" title="03/09/2008"><span property="dc:date" content="2009-08-26 10:24:44" resource="http://www.vazaar-project.org/blog/archives/158" /><span rel="http://www.vazaar-project.org/blog/archives/158" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/158">My SVN is gone!</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/329" rel="bookmark" title="21/07/2010"><span property="dc:date" content="2009-08-26 10:24:44" resource="http://www.vazaar-project.org/blog/archives/158" /><span rel="http://www.vazaar-project.org/blog/archives/158" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/158">Searching strings</span></a></li>
</ul>
<p><!-- Similar Posts took 12.214 ms --></p>
<div class="shr-publisher-158"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/my-workshop/sparql-queries">SPARQL Queries</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/158">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/158#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>After some headaches I&#8217;ve found how to write dynamic SPARQL queries by passing parameters. For example, to query graph about resources collected last hour this code could be a first approach:</p>
<div class="dean_ch" style="white-space: wrap;">#!/usr/bin/env python<br />
# Dynamic query (example code)</p>
<p>from datetime import datetime<br />
import rdflib<br />
from namespaces import XSD</p>
<p>def last_day():<br />
&nbsp; &nbsp; &quot;&quot;&quot; get date &quot;&quot;&quot;<br />
&nbsp; &nbsp; now = datetime.now()<br />
&nbsp; &nbsp; date = now &#8211; timedelta(hours=24)</p>
<p>&nbsp; &nbsp; return date</p>
<p>def get_date_filtered_query():<br />
&nbsp; &nbsp; &quot;&quot;&quot; build query &quot;&quot;&quot;<br />
&nbsp; &nbsp; period = last_day()<br />
&nbsp; &nbsp; mydate = Literal(period, datatype=URIRef(XSD))</p>
<p>&nbsp; &nbsp; query = &quot;&quot;&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; PREFIX rdf: &lt;http ://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; PREFIX nie: &lt;http ://www.semanticdesktop.org/ontologies/nie/&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; PREFIX nfo: &lt;http ://www.semanticdesktop.org/ontologies/nfo/&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; PREFIX nao: &lt;http ://www.semanticdesktop.org/ontologies/nao/&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; PREFIX pimo: &lt;http ://www.semanticdesktop.org/ontologies/pimo/&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; PREFIX xsd: &lt;/http&gt;&lt;http ://www.w3.org/2001/XMLSchema#&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; SELECT ?id<br />
&nbsp; &nbsp; &nbsp; &nbsp; WHERE<br />
&nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ?id rdf:type ?type .<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ?id nao:created ?date .<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FILTER (?type != pimo:Collection) .<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FILTER (xsd:dateTime(?date) &gt;= xsd:dateTime(&quot;%s&quot;)) .<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; ORDER BY DESC(?date)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot; % mydate</p>
<p>&nbsp; &nbsp; return query</p>
<p># query graph<br />
query = get_date_filtered_query()<br />
result = graph.query(query)</p>
<p>for id in result.selected:<br />
&nbsp; &nbsp; print id&lt;/http&gt;</div>
<p><span id="more-158"></span></p>
<p>For more information is worth to take a look <a title="XML Schema datatypes" href="http://www.w3.org/TR/xmlschema11-2/" target="_blank">W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes</a>. A self explained list of XML datatypes:</p>
<div>
<dl>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77009.html">xsd:anyURI</a> &#8211; URI (Uniform Resource Identifier) </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77017.html">xsd:base64Binary</a> &#8211; Binary content coded as &#8220;base64&#8243; </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77025.html">xsd:boolean</a> &#8211; Boolean (true or false) </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77033.html">xsd:byte</a> &#8211; Signed value of 8 bits </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77041.html">xsd:date</a> &#8211; Gregorian calendar date </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77049.html">xsd:dateTime</a> &#8211; Instant of time (Gregorian calendar) </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77057.html">xsd:decimal</a> &#8211; Decimal numbers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77065.html">xsd:double</a> &#8211; IEEE 64-bit floating-point </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77073.html">xsd:duration</a> &#8211; Time durations </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77080.html">xsd:ENTITIES</a> &#8211; Whitespace-separated list of unparsed entity references </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77087.html">xsd:ENTITY</a> &#8211; Reference to an unparsed entity </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77095.html">xsd:float</a> &#8211; IEEE 32-bit floating-point </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77103.html">xsd:gDay</a> &#8211; Recurring period of time: monthly day </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77111.html">xsd:gMonth</a> &#8211; Recurring period of time: yearly month </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77119.html">xsd:gMonthDay</a> &#8211; Recurring period of time: yearly day </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77127.html">xsd:gYear</a> &#8211; Period of one year </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77135.html">xsd:gYearMonth</a> &#8211; Period of one month </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77143.html">xsd:hexBinary</a> &#8211; Binary contents coded in hexadecimal </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77151.html">xsd:ID</a> &#8211; Definition of unique identifiers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77159.html">xsd:IDREF</a> &#8211; Definition of references to unique identifiers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77167.html">xsd:IDREFS</a> &#8211; Definition of lists of references to unique identifiers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77175.html">xsd:int</a> &#8211; 32-bit signed integers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77183.html">xsd:integer</a> &#8211; Signed integers of arbitrary length </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77191.html">xsd:language</a> &#8211; RFC 1766 language codes </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77199.html">xsd:long</a> &#8211; 64-bit signed integers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77207.html">xsd:Name</a> &#8211; XML 1.O name </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77215.html">xsd:NCName</a> &#8211; Unqualified names </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77223.html">xsd:negativeInteger</a> &#8211; Strictly negative integers of arbitrary length </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77231.html">xsd:NMTOKEN</a> &#8211; XML 1.0 name token (NMTOKEN) </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77239.html">xsd:NMTOKENS</a> &#8211; List of XML 1.0 name tokens (NMTOKEN) </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77247.html">xsd:nonNegativeInteger</a> &#8211; Integers of arbitrary length positive or equal to zero </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77255.html">xsd:nonPositiveInteger</a> &#8211; Integers of arbitrary length negative or equal to zero </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77263.html">xsd:normalizedString</a> &#8211; Whitespace-replaced strings </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77271.html">xsd:NOTATION</a> &#8211; Emulation of the XML 1.0 feature </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77279.html">xsd:positiveInteger</a> &#8211; Strictly positive integers of arbitrary length</dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77287.html">xsd:QName</a> &#8211; Namespaces in XML-qualified names </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77295.html">xsd:short</a> &#8211; 32-bit signed integers </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77303.html">xsd:string</a> &#8211; Any string </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77311.html">xsd:time</a> &#8211; Point in time recurring each day </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77319.html">xsd:token</a> &#8211; Whitespace-replaced and collapsed strings </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77327.html">xsd:unsignedByte</a> &#8211; Unsigned value of 8 bits </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77335.html">xsd:unsignedInt</a> &#8211; Unsigned integer of 32 bits </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77343.html">xsd:unsignedLong</a> &#8211; Unsigned integer of 64 bits </dt>
<dt><a href="http://books.xmlschemata.org/relaxng/ch19-77351.html">xsd:unsignedShort</a> &#8211; Unsigned integer of 16 bits </dt>
</dl>
</div>
<p><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2009-08-26 10:24:44" resource="http://www.vazaar-project.org/blog/archives/158" /><span rel="http://www.vazaar-project.org/blog/archives/158" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/158">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/17" rel="bookmark" title="02/12/2007"><span property="dc:date" content="2009-08-26 10:24:44" resource="http://www.vazaar-project.org/blog/archives/158" /><span rel="http://www.vazaar-project.org/blog/archives/158" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/158">Extrayendo metadatos: libextractor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/155" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2009-08-26 10:24:44" resource="http://www.vazaar-project.org/blog/archives/158" /><span rel="http://www.vazaar-project.org/blog/archives/158" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/158">Querying remote ontologies from integrated SPARQL editor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/33" rel="bookmark" title="03/09/2008"><span property="dc:date" content="2009-08-26 10:24:44" resource="http://www.vazaar-project.org/blog/archives/158" /><span rel="http://www.vazaar-project.org/blog/archives/158" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/158">My SVN is gone!</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/329" rel="bookmark" title="21/07/2010"><span property="dc:date" content="2009-08-26 10:24:44" resource="http://www.vazaar-project.org/blog/archives/158" /><span rel="http://www.vazaar-project.org/blog/archives/158" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/158">Searching strings</span></a></li>
</ul>
<p><!-- Similar Posts took 11.503 ms --></p>
<div class="shr-publisher-158"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/158/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Querying remote ontologies from integrated SPARQL editor</title>
		<link>http://www.vazaar-project.org/blog/archives/155</link>
		<comments>http://www.vazaar-project.org/blog/archives/155#comments</comments>
		<pubDate>Sun, 02 Aug 2009 16:28:44 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/155">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[SPARQL Queries]]></category>
		<category><![CDATA[calc]]></category>
		<category><![CDATA[csv file]]></category>
		<category><![CDATA[entities]]></category>
		<category><![CDATA[ontologies]]></category>
		<category><![CDATA[ontology]]></category>
		<category><![CDATA[queries]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[result data]]></category>
		<category><![CDATA[screenshot]]></category>
		<category><![CDATA[sparql]]></category>
		<category><![CDATA[spreadsheet program]]></category>
		<category><![CDATA[vocabularies]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=155</guid>
		<description><![CDATA[<p><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/08/querying-remote-ontologies.png"><img class="alignleft size-medium wp-image-156" title="Querying remote ontologies" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/08/querying-remote-ontologies-300x178.png" alt="Querying remote ontologies" width="300" height="178" /></a> Checking others parts of the Vazaar GUI, I&#8217;ve realized that I can query remote ontologies and vocabularies with a simple SPARQL sentence. In the screenshot you can see how I query for the comments of all NAO entities.</p>
<p>Just for the record, it would be nice to save user queries and integrate them within Vazaar. And, of course, to export result data to a file (eg.: in a CSV file) ready to import to a any spreadsheet program like OpenOffice Calc.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/329" rel="bookmark" title="21/07/2010"><span property="dc:date" content="2009-08-02 17:28:44" resource="http://www.vazaar-project.org/blog/archives/155" /><span rel="http://www.vazaar-project.org/blog/archives/155" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/155">Searching strings</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/158" rel="bookmark" title="26/08/2009"><span property="dc:date" content="2009-08-02 17:28:44" resource="http://www.vazaar-project.org/blog/archives/155" /><span rel="http://www.vazaar-project.org/blog/archives/155" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/155">Dynamic SPARQL queries and Datatypes</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2009-08-02 17:28:44" resource="http://www.vazaar-project.org/blog/archives/155" /><span rel="http://www.vazaar-project.org/blog/archives/155" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/155">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2009-08-02 17:28:44" resource="http://www.vazaar-project.org/blog/archives/155" /><span rel="http://www.vazaar-project.org/blog/archives/155" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/155">GUI improvements</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75/vazaar-04-import" rel="bookmark" title="08/06/2009"><span property="dc:date" content="2009-08-02 17:28:44" resource="http://www.vazaar-project.org/blog/archives/155" /><span rel="http://www.vazaar-project.org/blog/archives/155" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/155">vazaar-04-import</span></a></li>
</ul>
<p><!-- Similar Posts took 13.291 ms --></p>
<div class="wam_wrap"><h4 class="wam">Attached Files:</h4><ul class="wam_ul"><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/08/querying-remote-ontologies.png' class='wam_link'>Querying remote ontologies</a><p>By using the integrated SPARQL editor it is possible to query remote ontologies and vocabularies</p></li></ul></div><div class="shr-publisher-155"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/my-workshop/sparql-queries">SPARQL Queries</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/155">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/155#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/08/querying-remote-ontologies.png"><img class="alignleft size-medium wp-image-156" title="Querying remote ontologies" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/08/querying-remote-ontologies-300x178.png" alt="Querying remote ontologies" width="300" height="178" /></a> Checking others parts of the Vazaar GUI, I&#8217;ve realized that I can query remote ontologies and vocabularies with a simple SPARQL sentence. In the screenshot you can see how I query for the comments of all NAO entities.</p>
<p>Just for the record, it would be nice to save user queries and integrate them within Vazaar. And, of course, to export result data to a file (eg.: in a CSV file) ready to import to a any spreadsheet program like OpenOffice Calc.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/329" rel="bookmark" title="21/07/2010"><span property="dc:date" content="2009-08-02 17:28:44" resource="http://www.vazaar-project.org/blog/archives/155" /><span rel="http://www.vazaar-project.org/blog/archives/155" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/155">Searching strings</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/158" rel="bookmark" title="26/08/2009"><span property="dc:date" content="2009-08-02 17:28:44" resource="http://www.vazaar-project.org/blog/archives/155" /><span rel="http://www.vazaar-project.org/blog/archives/155" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/155">Dynamic SPARQL queries and Datatypes</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2009-08-02 17:28:44" resource="http://www.vazaar-project.org/blog/archives/155" /><span rel="http://www.vazaar-project.org/blog/archives/155" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/155">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2009-08-02 17:28:44" resource="http://www.vazaar-project.org/blog/archives/155" /><span rel="http://www.vazaar-project.org/blog/archives/155" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/155">GUI improvements</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75/vazaar-04-import" rel="bookmark" title="08/06/2009"><span property="dc:date" content="2009-08-02 17:28:44" resource="http://www.vazaar-project.org/blog/archives/155" /><span rel="http://www.vazaar-project.org/blog/archives/155" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/155">vazaar-04-import</span></a></li>
</ul>
<p><!-- Similar Posts took 11.797 ms --></p>
<div class="wam_wrap"><h4 class="wam">Attached Files:</h4><ul class="wam_ul"><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/08/querying-remote-ontologies.png' class='wam_link'>Querying remote ontologies</a><p>By using the integrated SPARQL editor it is possible to query remote ontologies and vocabularies</p></li></ul></div><div class="shr-publisher-155"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/155/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GUI improvements</title>
		<link>http://www.vazaar-project.org/blog/archives/146</link>
		<comments>http://www.vazaar-project.org/blog/archives/146#comments</comments>
		<pubDate>Sun, 02 Aug 2009 14:02:17 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/146">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[GUI]]></category>
		<category><![CDATA[cuestion]]></category>
		<category><![CDATA[design ideas]]></category>
		<category><![CDATA[filtering properties]]></category>
		<category><![CDATA[glitches]]></category>
		<category><![CDATA[gui improvements]]></category>
		<category><![CDATA[important things]]></category>
		<category><![CDATA[mockup]]></category>
		<category><![CDATA[new resources]]></category>
		<category><![CDATA[paste operations]]></category>
		<category><![CDATA[pygtk]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=146</guid>
		<description><![CDATA[<p>After a long weekend coding and trying new design ideas finally I think I got a nice GUI. At least for the StartHere module:</p>
<p><a title="Vazaar screentshot" href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/08/screenshot-vazaar-0.4b.png" target="_blank"><img class="size-medium wp-image-147" title="Screenshot for Vazaar 0.4b" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/08/screenshot-vazaar-0.4b-300x178.png" alt="Screenshot for last development version (commit 316)" width="300" height="178" /></a></p>
<p>There are still too much glitches in the GUI but I&#8217;m trying to fix them as I go. But for now, I feel satisfied. Queries against the model are working as expected.</p>
<p>After clicking in any stats button you get a nice visual for your resources. In next commits, you will be able of choosing one the two kinds of views: ListViews and IconViews. By default, the IconView is preferred.</p>
<p>More ideas are coming like content filtering, properties tagcloud, timeline widget, etc&#8230;</p>
<p>At this moment, you can only add new resources by copy&amp;paste operations. An improved dialog for this operation is in the way. Resources can be selected for be deleted. If the selected resource is a collection, all resources which belong to this collection will be deleted. There is no actions popup menu yet but it&#8217;s planned.</p>
<p>I&#8217;m thinking if a Trash resource is worth. NEPOMUK brings especial classes for this cuestion. I need check twice these. Anyway, it wouldn&#8217;t be very difficult.</p>
<p><span id="more-146"></span>One of the most important things now is to code common operation for resources: tagging, annotations, relations between them and how to display their content. For example, display text or an image is easy to do but it is not very easy to display websites content. There is not a good browser widget ready to use in PyGTK yet. I put my hope in webkit bindings for Python.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/558" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2009-08-02 15:02:17" resource="http://www.vazaar-project.org/blog/archives/146" /><span rel="http://www.vazaar-project.org/blog/archives/146" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/146">New custom timeline widget</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2009-08-02 15:02:17" resource="http://www.vazaar-project.org/blog/archives/146" /><span rel="http://www.vazaar-project.org/blog/archives/146" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/146">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75" rel="bookmark" title="09/06/2009"><span property="dc:date" content="2009-08-02 15:02:17" resource="http://www.vazaar-project.org/blog/archives/146" /><span rel="http://www.vazaar-project.org/blog/archives/146" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/146">About Vazaar 0.4 Beta development</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2009-08-02 15:02:17" resource="http://www.vazaar-project.org/blog/archives/146" /><span rel="http://www.vazaar-project.org/blog/archives/146" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/146">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2009-08-02 15:02:17" resource="http://www.vazaar-project.org/blog/archives/146" /><span rel="http://www.vazaar-project.org/blog/archives/146" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/146">Vazaar 0.4.8: a new release for testing</span></a></li>
</ul>
<p><!-- Similar Posts took 11.776 ms --></p>
<div class="wam_wrap"><h4 class="wam">Attached Files:</h4><ul class="wam_ul"><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/08/screenshot-vazaar-0.4b.png' class='wam_link'>Screenshot for Vazaar 0.4b</a></li></ul></div><div class="shr-publisher-146"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/my-workshop/gui-my-workshop">GUI</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/146">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/146#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>After a long weekend coding and trying new design ideas finally I think I got a nice GUI. At least for the StartHere module:</p>
<p><a title="Vazaar screentshot" href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/08/screenshot-vazaar-0.4b.png" target="_blank"><img class="size-medium wp-image-147" title="Screenshot for Vazaar 0.4b" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/08/screenshot-vazaar-0.4b-300x178.png" alt="Screenshot for last development version (commit 316)" width="300" height="178" /></a></p>
<p>There are still too much glitches in the GUI but I&#8217;m trying to fix them as I go. But for now, I feel satisfied. Queries against the model are working as expected.</p>
<p>After clicking in any stats button you get a nice visual for your resources. In next commits, you will be able of choosing one the two kinds of views: ListViews and IconViews. By default, the IconView is preferred.</p>
<p>More ideas are coming like content filtering, properties tagcloud, timeline widget, etc&#8230;</p>
<p>At this moment, you can only add new resources by copy&amp;paste operations. An improved dialog for this operation is in the way. Resources can be selected for be deleted. If the selected resource is a collection, all resources which belong to this collection will be deleted. There is no actions popup menu yet but it&#8217;s planned.</p>
<p>I&#8217;m thinking if a Trash resource is worth. NEPOMUK brings especial classes for this cuestion. I need check twice these. Anyway, it wouldn&#8217;t be very difficult.</p>
<p><span id="more-146"></span>One of the most important things now is to code common operation for resources: tagging, annotations, relations between them and how to display their content. For example, display text or an image is easy to do but it is not very easy to display websites content. There is not a good browser widget ready to use in PyGTK yet. I put my hope in webkit bindings for Python.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/558" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2009-08-02 15:02:17" resource="http://www.vazaar-project.org/blog/archives/146" /><span rel="http://www.vazaar-project.org/blog/archives/146" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/146">New custom timeline widget</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2009-08-02 15:02:17" resource="http://www.vazaar-project.org/blog/archives/146" /><span rel="http://www.vazaar-project.org/blog/archives/146" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/146">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/75" rel="bookmark" title="09/06/2009"><span property="dc:date" content="2009-08-02 15:02:17" resource="http://www.vazaar-project.org/blog/archives/146" /><span rel="http://www.vazaar-project.org/blog/archives/146" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/146">About Vazaar 0.4 Beta development</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2009-08-02 15:02:17" resource="http://www.vazaar-project.org/blog/archives/146" /><span rel="http://www.vazaar-project.org/blog/archives/146" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/146">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2009-08-02 15:02:17" resource="http://www.vazaar-project.org/blog/archives/146" /><span rel="http://www.vazaar-project.org/blog/archives/146" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/146">Vazaar 0.4.8: a new release for testing</span></a></li>
</ul>
<p><!-- Similar Posts took 12.134 ms --></p>
<div class="wam_wrap"><h4 class="wam">Attached Files:</h4><ul class="wam_ul"><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/08/screenshot-vazaar-0.4b.png' class='wam_link'>Screenshot for Vazaar 0.4b</a></li></ul></div><div class="shr-publisher-146"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/146/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>About Vazaar 0.4 Beta development</title>
		<link>http://www.vazaar-project.org/blog/archives/75</link>
		<comments>http://www.vazaar-project.org/blog/archives/75#comments</comments>
		<pubDate>Tue, 09 Jun 2009 16:30:08 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/75">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[beta development]]></category>
		<category><![CDATA[database records]]></category>
		<category><![CDATA[desktop application]]></category>
		<category><![CDATA[escritorio semántico]]></category>
		<category><![CDATA[launchpad]]></category>
		<category><![CDATA[nepomuk]]></category>
		<category><![CDATA[NFO]]></category>
		<category><![CDATA[NIE]]></category>
		<category><![CDATA[PIMO]]></category>
		<category><![CDATA[presentation layer]]></category>
		<category><![CDATA[pygtk]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[qout]]></category>
		<category><![CDATA[reading documents]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[semantic web]]></category>
		<category><![CDATA[social semantic desktop]]></category>
		<category><![CDATA[web paradigm]]></category>
		<category><![CDATA[web semantica]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=75</guid>
		<description><![CDATA[<p>After months of improving my skills with <a title="Python Programming Language" href="http://www.python.org" target="_self">Python</a> and <a title="GTK+ for Python" href="http://www.pygtk.org">PyGTK</a> and reading documents about semantic web and its integration with Desktops Interfaces (like GNOME or KDE) a lot of improvements have been made in Vazaar. This is an overview of the current state of development.</p>
<p>The presentation layer, the GUI, is more difficult to develop than I&#8217;ve ever thought. Althought the concept is simple: given any kind of data, transform them into triples (subject, predicate, object) and operate with them, the time consumed to create an infrastructure around the program has been very high.</p>
<p>As resources can be added at any time, I had to develop a system of queues (qIn and qOut). Furthermore, I had to deal with very high responsiveness times. It&#8217;s very annoying when the GUI gets frozen because the kernel is working in other stuff. So I had to implement threads (one thread for the kernel and another thread for the GUI). Along the way, I&#8217;ve found a lot of code (see source code in Launchpad) which has helped me to carry on.</p>
<p>In some way, I would like to forget these kind of glitches when I&#8217;m developing a Desktop application (not a kernel module). Maybe I&#8217;ve learnt something about gtk threads but nothing interesting for this project. Never mind&#8230;</p>
<p>I&#8217;m still reading some documents and asking about how to create a data model around <a title="NEPOMUK - The Social Semantic Desktop" href="http://nepomuk.semanticdesktop.org/">NEPOMUK</a>. By using the <a title="The Semantic Web" href="http://en.wikipedia.org/wiki/Semantic_Web" target="_self">semantic web</a> paradigm things change a lot. There are no database records or tables. Instead there are thousands (or hundreds of thousands) of triples.</p>
<p>But it looks easiest than I thought, at the moment.</p>
<p>Everything is a <a title="RFC 3986: URI Generic Syntax" href="http://www.ietf.org/rfc/rfc3986.txt" target="_blank">resource</a> (even <a title="pimo:Collection" href="http://www.semanticdesktop.org/ontologies/pimo/#Collection" target="_blank">collections</a>). A resource has a unique identifier (<a href="http://docs.python.org/library/uuid.html" target="_blank">UUID</a> objects according to <a href="http://www.rfc-editor.org/rfc/rfc4122.txt" target="_blank">RFC 4122</a>). Every resource belong to a unique Nepomuk class. They are a small subset of classes with their properties. Examples of Nepomuk classes are:</p>
<ul>
<li>nfo:Feed</li>
<li>nfo:Website</li>
<li>nfo:RemoteDataObject</li>
<li>nfo:Image</li>
<li>nfo:Audio</li>
<li>nfo:Clipboard (this class doesn&#8217;t belong to NFO but I need it until I find a smart solution for copypaste operations).</li>
</ul>
<p><span id="more-75"></span></p>
<p>As I say before, a collection is a resource. It belongs to the class Collection from PIMO namespace and use the property <em>nie:hasLogicalPart </em>to link resources.</p>
<p>Example of a single resource:</p>
<pre>&lt;<strong>nfo:Image</strong> rdf:about="<span style="color: #008000;"><strong>vazaar://7971c05a-3a69-469e-875c-5ec76b0d0cfb</strong></span>"&gt;
    &lt;<strong>nao:created</strong>&gt;2009-06-09 17:34:51&lt;/nao:created&gt;
    &lt;<strong>nie:title</strong>&gt;comment-icon.png&lt;/nie:title&gt;
    &lt;<strong>nao:lastModified</strong>&gt;2009-06-09 17:34:51&lt;/nao:lastModified&gt;
    &lt;nie:mimeMedia&gt;image&lt;/nie:mimeMedia&gt;
    &lt;nfo:fileUrl&gt;/home/kaskaras/Documentos/vazaar-export-r303/data/icons/comment-icon.png&lt;/nfo:fileUrl&gt;
    &lt;nfo:fileBasename&gt;comment-icon&lt;/nfo:fileBasename&gt;
    &lt;nfo:fileScheme&gt;file&lt;/nfo:fileScheme&gt;
    &lt;nfo:fileName&gt;comment-icon.png&lt;/nfo:fileName&gt;
    &lt;nfo:fileExtension&gt;png&lt;/nfo:fileExtension&gt;
    &lt;nfo:fileSize&gt;3269&lt;/nfo:fileSize&gt;
    &lt;nfo:belongsToContainer&gt;/home/kaskaras/Documentos/vazaar-export-r303/data/icons&lt;/nfo:belongsToContainer&gt;
    &lt;nie:mimeSubtype&gt;png&lt;/nie:mimeSubtype&gt;
    &lt;nie:mimeType&gt;image/png&lt;/nie:mimeType&gt;
&lt;/nfo:Image&gt;</pre>
<p>And here and example of a collection:</p>
<pre>&lt;<strong>pimo:Collection</strong> rdf:about="<span style="color: #008000;"><strong>vazaar://9fcea6ca-cc79-4259-baff-6c025319a36e</strong></span>"&gt;
    &lt;<strong>nao:created</strong>&gt;2009-06-09 17:35:13.338280&lt;/nao:created&gt;
    &lt;<strong>nie:title</strong>&gt;/home/kaskaras/Escritorio/screenshots&lt;/nie:title&gt;
    &lt;<strong>nao:lastModified</strong>&gt;2009-06-09 17:35:13.338280&lt;/nao:lastModified&gt;
    &lt;<strong>nie:hasLogicalPart</strong>&gt;
      &lt;nfo:Image rdf:about="<span style="color: #008000;"><strong>vazaar://15e820cb-398c-4917-b162-3b6d10cd8054</strong></span>"&gt;
        &lt;nao:created&gt;2009-06-09 17:35:13&lt;/nao:created&gt;
        &lt;nie:title&gt;Pantallazo.png&lt;/nie:title&gt;
        &lt;nao:lastModified&gt;2009-06-09 17:35:13&lt;/nao:lastModified&gt;
        &lt;nie:mimeMedia&gt;image&lt;/nie:mimeMedia&gt;
        &lt;nfo:fileUrl&gt;/home/kaskaras/Escritorio/screenshots/Pantallazo.png&lt;/nfo:fileUrl&gt;
        &lt;nfo:fileBasename&gt;Pantallazo&lt;/nfo:fileBasename&gt;
        &lt;nfo:fileScheme&gt;file&lt;/nfo:fileScheme&gt;
        &lt;nfo:fileName&gt;Pantallazo.png&lt;/nfo:fileName&gt;
        &lt;nfo:fileExtension&gt;png&lt;/nfo:fileExtension&gt;
        &lt;nfo:fileSize&gt;188465&lt;/nfo:fileSize&gt;
        &lt;nfo:belongsToContainer&gt;/home/kaskaras/Escritorio/screenshots&lt;/nfo:belongsToContainer&gt;
        &lt;nie:mimeSubtype&gt;png&lt;/nie:mimeSubtype&gt;
        &lt;nie:mimeType&gt;image/png&lt;/nie:mimeType&gt;
      &lt;/nfo:Image&gt;
    &lt;<strong>nie:hasLogicalPart</strong>&gt;
    &lt;<strong>nie:hasLogicalPart</strong>&gt;
    &lt;<strong>nie:hasLogicalPart</strong>&gt;
    &lt;<strong>nie:hasLogicalPart</strong>&gt;
 &lt;/pimo:Collection&gt;</pre>
<p>Right now, no problems working with this model. It is simple and I think that powerful. But I haven&#8217;t finished of defining the basic core of properties for a given resource (single or collection). Thinking in the future of this application, I would like to expose public resources through a SPARQL End Point so another semantic application will be able to ask it. It shouldn&#8217;t be so hard as I&#8217;ve seen a couple of python libraries to implement it. But the most important now is to have a solid model which I can work with.</p>
<p>Summing up, this is the result of the of the current code:</p>
<div id="attachment_66" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-starthere.png"><img class="size-medium wp-image-66" title="vazaar-04-starthere" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-starthere-300x220.png" alt="Start Here" width="300" height="220" /></a><p class="wp-caption-text">Start Here</p></div>
<div id="attachment_64" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-query.png"><img class="size-medium wp-image-64" title="vazaar-04-query" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-query-300x220.png" alt="Make your own SPARQL queries" width="300" height="220" /></a><p class="wp-caption-text">Make your own SPARQL queries</p></div>
<div id="attachment_63" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-import.png"><img class="size-medium wp-image-63" title="vazaar-04-import" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-import-300x220.png" alt="Basic Import support" width="300" height="220" /></a><p class="wp-caption-text">Basic Import support</p></div>
<div id="attachment_62" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-export.png"><img class="size-medium wp-image-62" title="vazaar-04-export" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-export-300x220.png" alt="Basic Export support" width="300" height="220" /></a><p class="wp-caption-text">Basic Export support</p></div>
<div id="attachment_61" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-about.png"><img class="size-medium wp-image-61" title="vazaar-04-about" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-about-300x219.png" alt="About Vazaar" width="300" height="219" /></a><p class="wp-caption-text">About Vazaar</p></div>
<div id="attachment_65" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-sourceview.png"><img class="size-medium wp-image-65" title="vazaar-04-sourceview" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-sourceview-300x219.png" alt="Syntax Highlighting for your sourcecode-based resources" width="300" height="219" /></a><p class="wp-caption-text">Syntax Highlighting for your sourcecode-based resources</p></div>
<div id="attachment_67" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-viewimage.png"><img class="size-medium wp-image-67" title="vazaar-04-viewimage" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-viewimage-300x219.png" alt="Basic support for image displaying" width="300" height="219" /></a><p class="wp-caption-text">Basic support for image displaying</p></div>
<p>It&#8217;s a prototype. Don&#8217;t expect too much. In the next weeks  I&#8217;ll try to work in the GUI adding visual improvements and new funcionalities.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/17" rel="bookmark" title="02/12/2007"><span property="dc:date" content="2009-06-09 17:30:08" resource="http://www.vazaar-project.org/blog/archives/75" /><span rel="http://www.vazaar-project.org/blog/archives/75" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/75">Extrayendo metadatos: libextractor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/10" rel="bookmark" title="26/11/2007"><span property="dc:date" content="2009-06-09 17:30:08" resource="http://www.vazaar-project.org/blog/archives/75" /><span rel="http://www.vazaar-project.org/blog/archives/75" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/75">Nepomuk</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2009-06-09 17:30:08" resource="http://www.vazaar-project.org/blog/archives/75" /><span rel="http://www.vazaar-project.org/blog/archives/75" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/75">GUI improvements</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2009-06-09 17:30:08" resource="http://www.vazaar-project.org/blog/archives/75" /><span rel="http://www.vazaar-project.org/blog/archives/75" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/75">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2009-06-09 17:30:08" resource="http://www.vazaar-project.org/blog/archives/75" /><span rel="http://www.vazaar-project.org/blog/archives/75" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/75">What is coming in the next version</span></a></li>
</ul>
<p><!-- Similar Posts took 12.658 ms --></p>
<div class="wam_wrap"><h4 class="wam">Attached Files:</h4><ul class="wam_ul"><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-about.png' class='wam_link'>vazaar-04-about</a></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-export.png' class='wam_link'>vazaar-04-export</a><p>Serialize database into a RDF file. No compression.</p></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-import.png' class='wam_link'>vazaar-04-import</a><p>Import a previous database export.</p></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-query.png' class='wam_link'>vazaar-04-query</a><p>Basic SPARQL editor for advanced users.</p></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-sourceview.png' class='wam_link'>vazaar-04-sourceview</a><p>by using GtkSourceView python bindings</p></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-starthere.png' class='wam_link'>vazaar-04-starthere</a><p>It's the front page of the program where you can view last resources imported, copy pasted resources and collections</p></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-viewimage.png' class='wam_link'>vazaar-04-viewimage</a><p>Vazaar implements a very basic image viewer</p></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/backup-20090609173554.rdf' class='wam_link'>Vazaar RDF Model example</a><p>This example shows how Vazaar store data into RDF.</p></li></ul></div><div class="shr-publisher-75"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/news-about-vazaar">News</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/75">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/75#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>After months of improving my skills with <a title="Python Programming Language" href="http://www.python.org" target="_self">Python</a> and <a title="GTK+ for Python" href="http://www.pygtk.org">PyGTK</a> and reading documents about semantic web and its integration with Desktops Interfaces (like GNOME or KDE) a lot of improvements have been made in Vazaar. This is an overview of the current state of development.</p>
<p>The presentation layer, the GUI, is more difficult to develop than I&#8217;ve ever thought. Althought the concept is simple: given any kind of data, transform them into triples (subject, predicate, object) and operate with them, the time consumed to create an infrastructure around the program has been very high.</p>
<p>As resources can be added at any time, I had to develop a system of queues (qIn and qOut). Furthermore, I had to deal with very high responsiveness times. It&#8217;s very annoying when the GUI gets frozen because the kernel is working in other stuff. So I had to implement threads (one thread for the kernel and another thread for the GUI). Along the way, I&#8217;ve found a lot of code (see source code in Launchpad) which has helped me to carry on.</p>
<p>In some way, I would like to forget these kind of glitches when I&#8217;m developing a Desktop application (not a kernel module). Maybe I&#8217;ve learnt something about gtk threads but nothing interesting for this project. Never mind&#8230;</p>
<p>I&#8217;m still reading some documents and asking about how to create a data model around <a title="NEPOMUK - The Social Semantic Desktop" href="http://nepomuk.semanticdesktop.org/">NEPOMUK</a>. By using the <a title="The Semantic Web" href="http://en.wikipedia.org/wiki/Semantic_Web" target="_self">semantic web</a> paradigm things change a lot. There are no database records or tables. Instead there are thousands (or hundreds of thousands) of triples.</p>
<p>But it looks easiest than I thought, at the moment.</p>
<p>Everything is a <a title="RFC 3986: URI Generic Syntax" href="http://www.ietf.org/rfc/rfc3986.txt" target="_blank">resource</a> (even <a title="pimo:Collection" href="http://www.semanticdesktop.org/ontologies/pimo/#Collection" target="_blank">collections</a>). A resource has a unique identifier (<a href="http://docs.python.org/library/uuid.html" target="_blank">UUID</a> objects according to <a href="http://www.rfc-editor.org/rfc/rfc4122.txt" target="_blank">RFC 4122</a>). Every resource belong to a unique Nepomuk class. They are a small subset of classes with their properties. Examples of Nepomuk classes are:</p>
<ul>
<li>nfo:Feed</li>
<li>nfo:Website</li>
<li>nfo:RemoteDataObject</li>
<li>nfo:Image</li>
<li>nfo:Audio</li>
<li>nfo:Clipboard (this class doesn&#8217;t belong to NFO but I need it until I find a smart solution for copypaste operations).</li>
</ul>
<p><span id="more-75"></span></p>
<p>As I say before, a collection is a resource. It belongs to the class Collection from PIMO namespace and use the property <em>nie:hasLogicalPart </em>to link resources.</p>
<p>Example of a single resource:</p>
<pre>&lt;<strong>nfo:Image</strong> rdf:about="<span style="color: #008000;"><strong>vazaar://7971c05a-3a69-469e-875c-5ec76b0d0cfb</strong></span>"&gt;
    &lt;<strong>nao:created</strong>&gt;2009-06-09 17:34:51&lt;/nao:created&gt;
    &lt;<strong>nie:title</strong>&gt;comment-icon.png&lt;/nie:title&gt;
    &lt;<strong>nao:lastModified</strong>&gt;2009-06-09 17:34:51&lt;/nao:lastModified&gt;
    &lt;nie:mimeMedia&gt;image&lt;/nie:mimeMedia&gt;
    &lt;nfo:fileUrl&gt;/home/kaskaras/Documentos/vazaar-export-r303/data/icons/comment-icon.png&lt;/nfo:fileUrl&gt;
    &lt;nfo:fileBasename&gt;comment-icon&lt;/nfo:fileBasename&gt;
    &lt;nfo:fileScheme&gt;file&lt;/nfo:fileScheme&gt;
    &lt;nfo:fileName&gt;comment-icon.png&lt;/nfo:fileName&gt;
    &lt;nfo:fileExtension&gt;png&lt;/nfo:fileExtension&gt;
    &lt;nfo:fileSize&gt;3269&lt;/nfo:fileSize&gt;
    &lt;nfo:belongsToContainer&gt;/home/kaskaras/Documentos/vazaar-export-r303/data/icons&lt;/nfo:belongsToContainer&gt;
    &lt;nie:mimeSubtype&gt;png&lt;/nie:mimeSubtype&gt;
    &lt;nie:mimeType&gt;image/png&lt;/nie:mimeType&gt;
&lt;/nfo:Image&gt;</pre>
<p>And here and example of a collection:</p>
<pre>&lt;<strong>pimo:Collection</strong> rdf:about="<span style="color: #008000;"><strong>vazaar://9fcea6ca-cc79-4259-baff-6c025319a36e</strong></span>"&gt;
    &lt;<strong>nao:created</strong>&gt;2009-06-09 17:35:13.338280&lt;/nao:created&gt;
    &lt;<strong>nie:title</strong>&gt;/home/kaskaras/Escritorio/screenshots&lt;/nie:title&gt;
    &lt;<strong>nao:lastModified</strong>&gt;2009-06-09 17:35:13.338280&lt;/nao:lastModified&gt;
    &lt;<strong>nie:hasLogicalPart</strong>&gt;
      &lt;nfo:Image rdf:about="<span style="color: #008000;"><strong>vazaar://15e820cb-398c-4917-b162-3b6d10cd8054</strong></span>"&gt;
        &lt;nao:created&gt;2009-06-09 17:35:13&lt;/nao:created&gt;
        &lt;nie:title&gt;Pantallazo.png&lt;/nie:title&gt;
        &lt;nao:lastModified&gt;2009-06-09 17:35:13&lt;/nao:lastModified&gt;
        &lt;nie:mimeMedia&gt;image&lt;/nie:mimeMedia&gt;
        &lt;nfo:fileUrl&gt;/home/kaskaras/Escritorio/screenshots/Pantallazo.png&lt;/nfo:fileUrl&gt;
        &lt;nfo:fileBasename&gt;Pantallazo&lt;/nfo:fileBasename&gt;
        &lt;nfo:fileScheme&gt;file&lt;/nfo:fileScheme&gt;
        &lt;nfo:fileName&gt;Pantallazo.png&lt;/nfo:fileName&gt;
        &lt;nfo:fileExtension&gt;png&lt;/nfo:fileExtension&gt;
        &lt;nfo:fileSize&gt;188465&lt;/nfo:fileSize&gt;
        &lt;nfo:belongsToContainer&gt;/home/kaskaras/Escritorio/screenshots&lt;/nfo:belongsToContainer&gt;
        &lt;nie:mimeSubtype&gt;png&lt;/nie:mimeSubtype&gt;
        &lt;nie:mimeType&gt;image/png&lt;/nie:mimeType&gt;
      &lt;/nfo:Image&gt;
    &lt;<strong>nie:hasLogicalPart</strong>&gt;
    &lt;<strong>nie:hasLogicalPart</strong>&gt;
    &lt;<strong>nie:hasLogicalPart</strong>&gt;
    &lt;<strong>nie:hasLogicalPart</strong>&gt;
 &lt;/pimo:Collection&gt;</pre>
<p>Right now, no problems working with this model. It is simple and I think that powerful. But I haven&#8217;t finished of defining the basic core of properties for a given resource (single or collection). Thinking in the future of this application, I would like to expose public resources through a SPARQL End Point so another semantic application will be able to ask it. It shouldn&#8217;t be so hard as I&#8217;ve seen a couple of python libraries to implement it. But the most important now is to have a solid model which I can work with.</p>
<p>Summing up, this is the result of the of the current code:</p>
<div id="attachment_66" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-starthere.png"><img class="size-medium wp-image-66" title="vazaar-04-starthere" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-starthere-300x220.png" alt="Start Here" width="300" height="220" /></a><p class="wp-caption-text">Start Here</p></div>
<div id="attachment_64" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-query.png"><img class="size-medium wp-image-64" title="vazaar-04-query" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-query-300x220.png" alt="Make your own SPARQL queries" width="300" height="220" /></a><p class="wp-caption-text">Make your own SPARQL queries</p></div>
<div id="attachment_63" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-import.png"><img class="size-medium wp-image-63" title="vazaar-04-import" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-import-300x220.png" alt="Basic Import support" width="300" height="220" /></a><p class="wp-caption-text">Basic Import support</p></div>
<div id="attachment_62" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-export.png"><img class="size-medium wp-image-62" title="vazaar-04-export" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-export-300x220.png" alt="Basic Export support" width="300" height="220" /></a><p class="wp-caption-text">Basic Export support</p></div>
<div id="attachment_61" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-about.png"><img class="size-medium wp-image-61" title="vazaar-04-about" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-about-300x219.png" alt="About Vazaar" width="300" height="219" /></a><p class="wp-caption-text">About Vazaar</p></div>
<div id="attachment_65" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-sourceview.png"><img class="size-medium wp-image-65" title="vazaar-04-sourceview" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-sourceview-300x219.png" alt="Syntax Highlighting for your sourcecode-based resources" width="300" height="219" /></a><p class="wp-caption-text">Syntax Highlighting for your sourcecode-based resources</p></div>
<div id="attachment_67" class="wp-caption alignleft" style="width: 310px"><a href="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-viewimage.png"><img class="size-medium wp-image-67" title="vazaar-04-viewimage" src="http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-viewimage-300x219.png" alt="Basic support for image displaying" width="300" height="219" /></a><p class="wp-caption-text">Basic support for image displaying</p></div>
<p>It&#8217;s a prototype. Don&#8217;t expect too much. In the next weeks  I&#8217;ll try to work in the GUI adding visual improvements and new funcionalities.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/17" rel="bookmark" title="02/12/2007"><span property="dc:date" content="2009-06-09 17:30:08" resource="http://www.vazaar-project.org/blog/archives/75" /><span rel="http://www.vazaar-project.org/blog/archives/75" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/75">Extrayendo metadatos: libextractor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/10" rel="bookmark" title="26/11/2007"><span property="dc:date" content="2009-06-09 17:30:08" resource="http://www.vazaar-project.org/blog/archives/75" /><span rel="http://www.vazaar-project.org/blog/archives/75" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/75">Nepomuk</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/146" rel="bookmark" title="02/08/2009"><span property="dc:date" content="2009-06-09 17:30:08" resource="http://www.vazaar-project.org/blog/archives/75" /><span rel="http://www.vazaar-project.org/blog/archives/75" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/75">GUI improvements</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/365" rel="bookmark" title="16/08/2010"><span property="dc:date" content="2009-06-09 17:30:08" resource="http://www.vazaar-project.org/blog/archives/75" /><span rel="http://www.vazaar-project.org/blog/archives/75" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/75">Reports with Cheetah templates</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2009-06-09 17:30:08" resource="http://www.vazaar-project.org/blog/archives/75" /><span rel="http://www.vazaar-project.org/blog/archives/75" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/75">What is coming in the next version</span></a></li>
</ul>
<p><!-- Similar Posts took 12.831 ms --></p>
<div class="wam_wrap"><h4 class="wam">Attached Files:</h4><ul class="wam_ul"><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-about.png' class='wam_link'>vazaar-04-about</a></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-export.png' class='wam_link'>vazaar-04-export</a><p>Serialize database into a RDF file. No compression.</p></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-import.png' class='wam_link'>vazaar-04-import</a><p>Import a previous database export.</p></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-query.png' class='wam_link'>vazaar-04-query</a><p>Basic SPARQL editor for advanced users.</p></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-sourceview.png' class='wam_link'>vazaar-04-sourceview</a><p>by using GtkSourceView python bindings</p></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-starthere.png' class='wam_link'>vazaar-04-starthere</a><p>It's the front page of the program where you can view last resources imported, copy pasted resources and collections</p></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/vazaar-04-viewimage.png' class='wam_link'>vazaar-04-viewimage</a><p>Vazaar implements a very basic image viewer</p></li><li><a href='http://www.vazaar-project.org/blog/wp-content/uploads/2009/06/backup-20090609173554.rdf' class='wam_link'>Vazaar RDF Model example</a><p>This example shows how Vazaar store data into RDF.</p></li></ul></div><div class="shr-publisher-75"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/75/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New home for Vazaar</title>
		<link>http://www.vazaar-project.org/blog/archives/57</link>
		<comments>http://www.vazaar-project.org/blog/archives/57#comments</comments>
		<pubDate>Mon, 08 Jun 2009 22:09:24 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/57">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[debian repositories]]></category>
		<category><![CDATA[infrastructure]]></category>
		<category><![CDATA[launchpad]]></category>
		<category><![CDATA[nine months]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=57</guid>
		<description><![CDATA[<p>Nine months after my last post, I&#8217;ve got a new home for Vazaar. </p>
<p>It lives now at https://launchpad.net/vazaar </p>
<p>I want to use the infrastructure provided by Ubuntu to accelerate the development and subsequent integration into<br />
Ubuntu or Debian repositories.</p>
<p>Hope it be useful for everybody.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/75" rel="bookmark" title="09/06/2009"><span property="dc:date" content="2009-06-08 23:09:24" resource="http://www.vazaar-project.org/blog/archives/57" /><span rel="http://www.vazaar-project.org/blog/archives/57" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/57">About Vazaar 0.4 Beta development</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2009-06-08 23:09:24" resource="http://www.vazaar-project.org/blog/archives/57" /><span rel="http://www.vazaar-project.org/blog/archives/57" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/57">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/550" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2009-06-08 23:09:24" resource="http://www.vazaar-project.org/blog/archives/57" /><span rel="http://www.vazaar-project.org/blog/archives/57" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/57">How to fix your sqlite database after corruption</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/33" rel="bookmark" title="03/09/2008"><span property="dc:date" content="2009-06-08 23:09:24" resource="http://www.vazaar-project.org/blog/archives/57" /><span rel="http://www.vazaar-project.org/blog/archives/57" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/57">My SVN is gone!</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/354" rel="bookmark" title="13/08/2010"><span property="dc:date" content="2009-06-08 23:09:24" resource="http://www.vazaar-project.org/blog/archives/57" /><span rel="http://www.vazaar-project.org/blog/archives/57" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/57">Blog info updated</span></a></li>
</ul>
<p><!-- Similar Posts took 11.028 ms --></p>
<div class="shr-publisher-57"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/news-about-vazaar">News</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/57">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/57#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>Nine months after my last post, I&#8217;ve got a new home for Vazaar. </p>
<p>It lives now at https://launchpad.net/vazaar </p>
<p>I want to use the infrastructure provided by Ubuntu to accelerate the development and subsequent integration into<br />
Ubuntu or Debian repositories.</p>
<p>Hope it be useful for everybody.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/75" rel="bookmark" title="09/06/2009"><span property="dc:date" content="2009-06-08 23:09:24" resource="http://www.vazaar-project.org/blog/archives/57" /><span rel="http://www.vazaar-project.org/blog/archives/57" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/57">About Vazaar 0.4 Beta development</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2009-06-08 23:09:24" resource="http://www.vazaar-project.org/blog/archives/57" /><span rel="http://www.vazaar-project.org/blog/archives/57" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/57">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/550" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2009-06-08 23:09:24" resource="http://www.vazaar-project.org/blog/archives/57" /><span rel="http://www.vazaar-project.org/blog/archives/57" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/57">How to fix your sqlite database after corruption</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/33" rel="bookmark" title="03/09/2008"><span property="dc:date" content="2009-06-08 23:09:24" resource="http://www.vazaar-project.org/blog/archives/57" /><span rel="http://www.vazaar-project.org/blog/archives/57" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/57">My SVN is gone!</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/354" rel="bookmark" title="13/08/2010"><span property="dc:date" content="2009-06-08 23:09:24" resource="http://www.vazaar-project.org/blog/archives/57" /><span rel="http://www.vazaar-project.org/blog/archives/57" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/57">Blog info updated</span></a></li>
</ul>
<p><!-- Similar Posts took 11.241 ms --></p>
<div class="shr-publisher-57"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/57/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My SVN is gone!</title>
		<link>http://www.vazaar-project.org/blog/archives/33</link>
		<comments>http://www.vazaar-project.org/blog/archives/33#comments</comments>
		<pubDate>Wed, 03 Sep 2008 17:46:19 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/33">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[checkout]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[hosting company]]></category>
		<category><![CDATA[patience]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/?p=33</guid>
		<description><![CDATA[<p>I don&#8217;t know what is going on but my svn repository hosted in Dreamhost is gone  :-(</p>
<p>patience</p>
<p>Edit Saturday, September 06 2008:</p>
<p>Well, finally, I know what happend. My hosting company deciced to upgrade their 32bits Debian OS to 64bits and it failed. A lot. I haven&#8217;t lost anything but the svn is misconfigurated. So I&#8217;ve changed my repository to google code.</p>
<p>Please, update your bookmarks. You can access to the repository here:<br />
<em><tt>svn checkout http://vazaar.googlecode.com/svn/trunk/ vazaar-read-only</tt></em></p>
<p>or check this page:</p>
<p>http://code.google.com/p/vazaar/</p>
<p>Sorry about that<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2008-09-03 18:46:19" resource="http://www.vazaar-project.org/blog/archives/33" /><span rel="http://www.vazaar-project.org/blog/archives/33" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/33">Vazaar 0.4.8: a new release for testing</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/158" rel="bookmark" title="26/08/2009"><span property="dc:date" content="2008-09-03 18:46:19" resource="http://www.vazaar-project.org/blog/archives/33" /><span rel="http://www.vazaar-project.org/blog/archives/33" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/33">Dynamic SPARQL queries and Datatypes</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2008-09-03 18:46:19" resource="http://www.vazaar-project.org/blog/archives/33" /><span rel="http://www.vazaar-project.org/blog/archives/33" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/33">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/214" rel="bookmark" title="06/09/2009"><span property="dc:date" content="2008-09-03 18:46:19" resource="http://www.vazaar-project.org/blog/archives/33" /><span rel="http://www.vazaar-project.org/blog/archives/33" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/33">Vazaar 0.4 (aka Sacabambaspis) released</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/558" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2008-09-03 18:46:19" resource="http://www.vazaar-project.org/blog/archives/33" /><span rel="http://www.vazaar-project.org/blog/archives/33" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/33">New custom timeline widget</span></a></li>
</ul>
<p><!-- Similar Posts took 11.245 ms --></p>
<div class="shr-publisher-33"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/news-about-vazaar">News</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/33">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/33#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know what is going on but my svn repository hosted in Dreamhost is gone  :-(</p>
<p>patience</p>
<p>Edit Saturday, September 06 2008:</p>
<p>Well, finally, I know what happend. My hosting company deciced to upgrade their 32bits Debian OS to 64bits and it failed. A lot. I haven&#8217;t lost anything but the svn is misconfigurated. So I&#8217;ve changed my repository to google code.</p>
<p>Please, update your bookmarks. You can access to the repository here:<br />
<em><tt>svn checkout http://vazaar.googlecode.com/svn/trunk/ vazaar-read-only</tt></em></p>
<p>or check this page:</p>
<p>http://code.google.com/p/vazaar/</p>
<p>Sorry about that<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/317" rel="bookmark" title="11/07/2010"><span property="dc:date" content="2008-09-03 18:46:19" resource="http://www.vazaar-project.org/blog/archives/33" /><span rel="http://www.vazaar-project.org/blog/archives/33" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/33">Vazaar 0.4.8: a new release for testing</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/158" rel="bookmark" title="26/08/2009"><span property="dc:date" content="2008-09-03 18:46:19" resource="http://www.vazaar-project.org/blog/archives/33" /><span rel="http://www.vazaar-project.org/blog/archives/33" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/33">Dynamic SPARQL queries and Datatypes</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/298" rel="bookmark" title="23/05/2010"><span property="dc:date" content="2008-09-03 18:46:19" resource="http://www.vazaar-project.org/blog/archives/33" /><span rel="http://www.vazaar-project.org/blog/archives/33" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/33">What is coming in the next version</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/214" rel="bookmark" title="06/09/2009"><span property="dc:date" content="2008-09-03 18:46:19" resource="http://www.vazaar-project.org/blog/archives/33" /><span rel="http://www.vazaar-project.org/blog/archives/33" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/33">Vazaar 0.4 (aka Sacabambaspis) released</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/558" rel="bookmark" title="02/09/2010"><span property="dc:date" content="2008-09-03 18:46:19" resource="http://www.vazaar-project.org/blog/archives/33" /><span rel="http://www.vazaar-project.org/blog/archives/33" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/33">New custom timeline widget</span></a></li>
</ul>
<p><!-- Similar Posts took 12.058 ms --></p>
<div class="shr-publisher-33"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/33/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dublin Core Metadata Glossary</title>
		<link>http://www.vazaar-project.org/blog/archives/24</link>
		<comments>http://www.vazaar-project.org/blog/archives/24#comments</comments>
		<pubDate>Thu, 28 Feb 2008 01:06:25 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/24">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[Dublin Core]]></category>
		<category><![CDATA[collaborative effort]]></category>
		<category><![CDATA[core documents]]></category>
		<category><![CDATA[dc general]]></category>
		<category><![CDATA[deletions]]></category>
		<category><![CDATA[dublin core metadata]]></category>
		<category><![CDATA[final draft]]></category>
		<category><![CDATA[glosario]]></category>
		<category><![CDATA[glossary]]></category>
		<category><![CDATA[guide committee]]></category>
		<category><![CDATA[pete winn]]></category>
		<category><![CDATA[toda la red]]></category>
		<category><![CDATA[web semantic]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/archives/24</guid>
		<description><![CDATA[<p>Voy camino de ser el blogger más improductivo de toda la red. Creo que leo más que escribo.  Intentaré remediarlo. De momento, os dejo esta perla que me he encontrado:</p>
<p><a href="http://dublincore.org/documents/usageguide/glossary.shtml">Dublin Core Metadata Glossary</a></p>
<h4>Final Draft</h4>
<p>The Dublin Core Metadata Glossary is a collaborative effort of 					 the User Guide Committee with special thanks to 					 <a href="mailto:clementg@fiu.edu">Gail Clement</a> &amp; 					 <a href="mailto:peter.winn@effem.com">Pete Winn,</a> whose original glossary was a basis for this version. Terms included in this glossary are based on Dublin Core documents, presentations at DC conferences, and discussions on the DC General listserv. We welcome <a href="mailto:mary.woodley@csun.edu">comments 					 and feedback</a> regarding additions, deletions or changes to the terms and/or definitions found below.For related links, including the guide itself, see<a href="http://dublincore.org/"> this site&#8217;s home page.</a></p>
<p>The glossary was last updated on 02/24/2001</p>
<p>Aunque data del 2001 no me consta que las definiciones cambién de lustro en lustro. Todo un manjar para comprender los conceptos de la web semántica.</p>
<p><span style="text-decoration: underline;">Editado</span> (jueves, 28 de febrero de 2008 02:16)</p>
<p>He encontrado el glosario actualizado (23 April 2004) en la propia página de Dublin Core<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/9" rel="bookmark" title="19/11/2007"><span property="dc:date" content="2008-02-28 02:06:25" resource="http://www.vazaar-project.org/blog/archives/24" /><span rel="http://www.vazaar-project.org/blog/archives/24" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/24">Metagoofil</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/17" rel="bookmark" title="02/12/2007"><span property="dc:date" content="2008-02-28 02:06:25" resource="http://www.vazaar-project.org/blog/archives/24" /><span rel="http://www.vazaar-project.org/blog/archives/24" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/24">Extrayendo metadatos: libextractor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/20" rel="bookmark" title="07/12/2007"><span property="dc:date" content="2008-02-28 02:06:25" resource="http://www.vazaar-project.org/blog/archives/24" /><span rel="http://www.vazaar-project.org/blog/archives/24" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/24">Dublin Core</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/10" rel="bookmark" title="26/11/2007"><span property="dc:date" content="2008-02-28 02:06:25" resource="http://www.vazaar-project.org/blog/archives/24" /><span rel="http://www.vazaar-project.org/blog/archives/24" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/24">Nepomuk</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/214" rel="bookmark" title="06/09/2009"><span property="dc:date" content="2008-02-28 02:06:25" resource="http://www.vazaar-project.org/blog/archives/24" /><span rel="http://www.vazaar-project.org/blog/archives/24" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/24">Vazaar 0.4 (aka Sacabambaspis) released</span></a></li>
</ul>
<p><!-- Similar Posts took 12.269 ms --></p>
<div class="shr-publisher-24"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/school/semantic-web-school/dublin-core">Dublin Core</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/24">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/24#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>Voy camino de ser el blogger más improductivo de toda la red. Creo que leo más que escribo.  Intentaré remediarlo. De momento, os dejo esta perla que me he encontrado:</p>
<p><a href="http://dublincore.org/documents/usageguide/glossary.shtml">Dublin Core Metadata Glossary</a></p>
<h4>Final Draft</h4>
<p>The Dublin Core Metadata Glossary is a collaborative effort of 					 the User Guide Committee with special thanks to 					 <a href="mailto:clementg@fiu.edu">Gail Clement</a> &amp; 					 <a href="mailto:peter.winn@effem.com">Pete Winn,</a> whose original glossary was a basis for this version. Terms included in this glossary are based on Dublin Core documents, presentations at DC conferences, and discussions on the DC General listserv. We welcome <a href="mailto:mary.woodley@csun.edu">comments 					 and feedback</a> regarding additions, deletions or changes to the terms and/or definitions found below.For related links, including the guide itself, see<a href="http://dublincore.org/"> this site&#8217;s home page.</a></p>
<p>The glossary was last updated on 02/24/2001</p>
<p>Aunque data del 2001 no me consta que las definiciones cambién de lustro en lustro. Todo un manjar para comprender los conceptos de la web semántica.</p>
<p><span style="text-decoration: underline;">Editado</span> (jueves, 28 de febrero de 2008 02:16)</p>
<p>He encontrado el glosario actualizado (23 April 2004) en la propia página de Dublin Core<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/9" rel="bookmark" title="19/11/2007"><span property="dc:date" content="2008-02-28 02:06:25" resource="http://www.vazaar-project.org/blog/archives/24" /><span rel="http://www.vazaar-project.org/blog/archives/24" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/24">Metagoofil</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/17" rel="bookmark" title="02/12/2007"><span property="dc:date" content="2008-02-28 02:06:25" resource="http://www.vazaar-project.org/blog/archives/24" /><span rel="http://www.vazaar-project.org/blog/archives/24" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/24">Extrayendo metadatos: libextractor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/20" rel="bookmark" title="07/12/2007"><span property="dc:date" content="2008-02-28 02:06:25" resource="http://www.vazaar-project.org/blog/archives/24" /><span rel="http://www.vazaar-project.org/blog/archives/24" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/24">Dublin Core</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/10" rel="bookmark" title="26/11/2007"><span property="dc:date" content="2008-02-28 02:06:25" resource="http://www.vazaar-project.org/blog/archives/24" /><span rel="http://www.vazaar-project.org/blog/archives/24" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/24">Nepomuk</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/214" rel="bookmark" title="06/09/2009"><span property="dc:date" content="2008-02-28 02:06:25" resource="http://www.vazaar-project.org/blog/archives/24" /><span rel="http://www.vazaar-project.org/blog/archives/24" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/24">Vazaar 0.4 (aka Sacabambaspis) released</span></a></li>
</ul>
<p><!-- Similar Posts took 12.204 ms --></p>
<div class="shr-publisher-24"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/24/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Revisión: 117. Estado del proyecto</title>
		<link>http://www.vazaar-project.org/blog/archives/22</link>
		<comments>http://www.vazaar-project.org/blog/archives/22#comments</comments>
		<pubDate>Thu, 14 Feb 2008 13:23:24 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/22">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[0.4p1]]></category>
		<category><![CDATA[cambios]]></category>
		<category><![CDATA[cola]]></category>
		<category><![CDATA[colas]]></category>
		<category><![CDATA[colecciones]]></category>
		<category><![CDATA[correctamente]]></category>
		<category><![CDATA[dataprovider]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[Gtk.Table]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[hilos]]></category>
		<category><![CDATA[implementando]]></category>
		<category><![CDATA[lios]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[nube]]></category>
		<category><![CDATA[pegue]]></category>
		<category><![CDATA[queue]]></category>
		<category><![CDATA[rdflib backends]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[saber leer]]></category>
		<category><![CDATA[sleepycat]]></category>
		<category><![CDATA[sparql]]></category>
		<category><![CDATA[threads]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/archives/22</guid>
		<description><![CDATA[<p>Bueno, después de casi dos meses, puedo decir que he avanzado un poco más. Para no quemarme, aburrirme o morir en el intento voy alternando entre la programación de la interfaz gráfica y el motor de la aplicación.</p>
<p>La parte gráfica de momento es un laboratorio. Me limito a saber leer correctamente los recursos de la base de datos semántica, interpretar lo que me duvuelven las consultas y presentarlo chapuceramente al usuario. Voy a tener que buscar o hacerme bastantes widgets a medida. De momento me he creado una nube basada en una Gtk.Table donde represento los datos y sus frecuencias. Bastante útil, por cierto.</p>
<p>En relación al motor de la aplicación hay tres grandes cambios:</p>
<p>- Para no bloquear la parte gráfica estoy implementando hilos. Deberían llamarse líos.<br />
- He adoptado el uso de colas para todas las peticiones de trabajo.<br />
- Vazaar dispone de un sistema de plugins.<br />
<span id="more-22"></span></p>
<p>Los hilos es una de las partes más problemáticas y la quiero eliminar en cuanto pueda. Lo natural sería tener un motor que funcione independientemente de la parte gráfica.</p>
<p>La solicitud de trabajos (jobs) se van enconlando y procesando por el DataProvider. Este módulo se encarga de procesar los argumentos y dedcidir de qué tipo de recurso se trata: fichero, directorio, remoto y string. Dependiendo del tipo y el numero de argumentos pasados se llama al módulo Resources donde se construyen colecciones o recursos únicos. Las colecciones albergan dos o más recursos. Uno de los problemas que me ha resuelto la cola es permitir que el usuario pueda trabajar cómodamente mientras se van añadiendo recursos. Por ejemplo, todo lo que corte o pegue quedará automáticamente almacenado como recurso. Automáticamente, el programa se encarga de identificarlo y clasificarlo.</p>
<p>El sistema de plugins era necesario desde un primer momento. Desde que arranca la aplicación hasta que termina hay muchos eventos que atender y muchos recursos que descubrir. Está basado en las setuptools y por medio de &#8216;capabilities&#8217; el sistema se puede extender. Hasta ahora el sistema de plugins funciona para dar soporte en la extracción de metadatos al módulo Resources y para presentar unas simples estadísticas.</p>
<p>Hoy por hoy el interfaz va unido al motor de la aplicación lo cual no es una buena idea pero de momento no tengo los conocimientos suficientes para montar un servidor de rdf. Lo cual sería una buena idea de cara a montar un servidor público/privado de un repositorio personal o de implentar su compartición vía p2p. Lo dejo para el ToDo.</p>
<p>SPARQL promete como sistema de consulta pero estoy encontrándome con problemas de rendimiento. Rdflib dispone de varios backends para almecanar la información del grafo: en memoria, (des)serializado en n3, rdfxml, etc., en una bbdd SleepyCat con ficheros planos y otro para MySQL. El primero sería impensable pues se comería toda la memoria del sistema. Puedo asegurar que (des)serializando tampoco (aunque de esta manera se aprende a leer e interpretar el propio grafo). El backend de Sleepycat es el que estoy usando ahora y de momento no me está convenciendo. Me parece lento y en la medida de lo posible no pienso aceptar tiempos de respuesta mayores al segundo. Por lo tanto me queda la opción de probar MySQL.</p>
<p>Si quieres ver estas ideas implementadas echa un vistazo al protipo 0.4p1:</p>
<pre>svn co http://vazaar-project.org/svn/trunk/devel/0.4p1/ vazaar</pre>
<p>Cada día más cerca de sacar algo en claro.</p>
<p>Un saludo<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/3" rel="bookmark" title="31/10/2007"><span property="dc:date" content="2008-02-14 14:23:24" resource="http://www.vazaar-project.org/blog/archives/22" /><span rel="http://www.vazaar-project.org/blog/archives/22" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/22">Comenzando&#8230;</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/17" rel="bookmark" title="02/12/2007"><span property="dc:date" content="2008-02-14 14:23:24" resource="http://www.vazaar-project.org/blog/archives/22" /><span rel="http://www.vazaar-project.org/blog/archives/22" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/22">Extrayendo metadatos: libextractor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/5" rel="bookmark" title="01/11/2007"><span property="dc:date" content="2008-02-14 14:23:24" resource="http://www.vazaar-project.org/blog/archives/22" /><span rel="http://www.vazaar-project.org/blog/archives/22" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/22">Initial import</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/20" rel="bookmark" title="07/12/2007"><span property="dc:date" content="2008-02-14 14:23:24" resource="http://www.vazaar-project.org/blog/archives/22" /><span rel="http://www.vazaar-project.org/blog/archives/22" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/22">Dublin Core</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/10" rel="bookmark" title="26/11/2007"><span property="dc:date" content="2008-02-14 14:23:24" resource="http://www.vazaar-project.org/blog/archives/22" /><span rel="http://www.vazaar-project.org/blog/archives/22" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/22">Nepomuk</span></a></li>
</ul>
<p><!-- Similar Posts took 13.207 ms --></p>
<div class="shr-publisher-22"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/news-about-vazaar">News</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/22">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/22#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>Bueno, después de casi dos meses, puedo decir que he avanzado un poco más. Para no quemarme, aburrirme o morir en el intento voy alternando entre la programación de la interfaz gráfica y el motor de la aplicación.</p>
<p>La parte gráfica de momento es un laboratorio. Me limito a saber leer correctamente los recursos de la base de datos semántica, interpretar lo que me duvuelven las consultas y presentarlo chapuceramente al usuario. Voy a tener que buscar o hacerme bastantes widgets a medida. De momento me he creado una nube basada en una Gtk.Table donde represento los datos y sus frecuencias. Bastante útil, por cierto.</p>
<p>En relación al motor de la aplicación hay tres grandes cambios:</p>
<p>- Para no bloquear la parte gráfica estoy implementando hilos. Deberían llamarse líos.<br />
- He adoptado el uso de colas para todas las peticiones de trabajo.<br />
- Vazaar dispone de un sistema de plugins.<br />
<span id="more-22"></span></p>
<p>Los hilos es una de las partes más problemáticas y la quiero eliminar en cuanto pueda. Lo natural sería tener un motor que funcione independientemente de la parte gráfica.</p>
<p>La solicitud de trabajos (jobs) se van enconlando y procesando por el DataProvider. Este módulo se encarga de procesar los argumentos y dedcidir de qué tipo de recurso se trata: fichero, directorio, remoto y string. Dependiendo del tipo y el numero de argumentos pasados se llama al módulo Resources donde se construyen colecciones o recursos únicos. Las colecciones albergan dos o más recursos. Uno de los problemas que me ha resuelto la cola es permitir que el usuario pueda trabajar cómodamente mientras se van añadiendo recursos. Por ejemplo, todo lo que corte o pegue quedará automáticamente almacenado como recurso. Automáticamente, el programa se encarga de identificarlo y clasificarlo.</p>
<p>El sistema de plugins era necesario desde un primer momento. Desde que arranca la aplicación hasta que termina hay muchos eventos que atender y muchos recursos que descubrir. Está basado en las setuptools y por medio de &#8216;capabilities&#8217; el sistema se puede extender. Hasta ahora el sistema de plugins funciona para dar soporte en la extracción de metadatos al módulo Resources y para presentar unas simples estadísticas.</p>
<p>Hoy por hoy el interfaz va unido al motor de la aplicación lo cual no es una buena idea pero de momento no tengo los conocimientos suficientes para montar un servidor de rdf. Lo cual sería una buena idea de cara a montar un servidor público/privado de un repositorio personal o de implentar su compartición vía p2p. Lo dejo para el ToDo.</p>
<p>SPARQL promete como sistema de consulta pero estoy encontrándome con problemas de rendimiento. Rdflib dispone de varios backends para almecanar la información del grafo: en memoria, (des)serializado en n3, rdfxml, etc., en una bbdd SleepyCat con ficheros planos y otro para MySQL. El primero sería impensable pues se comería toda la memoria del sistema. Puedo asegurar que (des)serializando tampoco (aunque de esta manera se aprende a leer e interpretar el propio grafo). El backend de Sleepycat es el que estoy usando ahora y de momento no me está convenciendo. Me parece lento y en la medida de lo posible no pienso aceptar tiempos de respuesta mayores al segundo. Por lo tanto me queda la opción de probar MySQL.</p>
<p>Si quieres ver estas ideas implementadas echa un vistazo al protipo 0.4p1:</p>
<pre>svn co http://vazaar-project.org/svn/trunk/devel/0.4p1/ vazaar</pre>
<p>Cada día más cerca de sacar algo en claro.</p>
<p>Un saludo<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/3" rel="bookmark" title="31/10/2007"><span property="dc:date" content="2008-02-14 14:23:24" resource="http://www.vazaar-project.org/blog/archives/22" /><span rel="http://www.vazaar-project.org/blog/archives/22" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/22">Comenzando&#8230;</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/17" rel="bookmark" title="02/12/2007"><span property="dc:date" content="2008-02-14 14:23:24" resource="http://www.vazaar-project.org/blog/archives/22" /><span rel="http://www.vazaar-project.org/blog/archives/22" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/22">Extrayendo metadatos: libextractor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/5" rel="bookmark" title="01/11/2007"><span property="dc:date" content="2008-02-14 14:23:24" resource="http://www.vazaar-project.org/blog/archives/22" /><span rel="http://www.vazaar-project.org/blog/archives/22" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/22">Initial import</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/20" rel="bookmark" title="07/12/2007"><span property="dc:date" content="2008-02-14 14:23:24" resource="http://www.vazaar-project.org/blog/archives/22" /><span rel="http://www.vazaar-project.org/blog/archives/22" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/22">Dublin Core</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/10" rel="bookmark" title="26/11/2007"><span property="dc:date" content="2008-02-14 14:23:24" resource="http://www.vazaar-project.org/blog/archives/22" /><span rel="http://www.vazaar-project.org/blog/archives/22" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/22">Nepomuk</span></a></li>
</ul>
<p><!-- Similar Posts took 13.499 ms --></p>
<div class="shr-publisher-22"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/22/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dublin Core</title>
		<link>http://www.vazaar-project.org/blog/archives/20</link>
		<comments>http://www.vazaar-project.org/blog/archives/20#comments</comments>
		<pubDate>Fri, 07 Dec 2007 17:18:38 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/20">Tomás Vírseda</span></dc:creator>
				<category><![CDATA[Dublin Core]]></category>
		<category><![CDATA[afirmaciones]]></category>
		<category><![CDATA[cualificado]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[DC]]></category>
		<category><![CDATA[dcmi]]></category>
		<category><![CDATA[de origen]]></category>
		<category><![CDATA[elemento]]></category>
		<category><![CDATA[elementos]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[metadatos]]></category>
		<category><![CDATA[modelo]]></category>
		<category><![CDATA[por lo tanto]]></category>
		<category><![CDATA[qualified]]></category>
		<category><![CDATA[que es]]></category>
		<category><![CDATA[recursos en internet]]></category>
		<category><![CDATA[web de]]></category>
		<category><![CDATA[wikipedia]]></category>

		<guid isPermaLink="false">http://www.vazaar-project.org/blog/archives/20</guid>
		<description><![CDATA[<p>Este es el primero de una serie de artículos sobre Dublin Core (DC) y metadatos. Explicaré un poco la teoría e intentaré mostrar ejemplos prácticos de su uso en Vazaar. Para realizarlo me he ayudado de una traducción al español de DC que he encontrado en <a href="http://www.rediris.es/metadata/dublin_core_elements.es.html" title="Javier Masa, RedIris: Metainformación - Dublin Core">RedIris</a> y diversa documentación que he ido encontrando en la <a href="http://dublincore.org" title="Dublin Core Metadata Initiative">web de Dublin Core</a>. Antes de empezar definiendo que es Dublin Core hay que entender que son los metadatos. Por lo tanto,</p>
<p><span id="more-20"></span></p>
<h4>¿Qué son los metadatos?</h4>
<p>Los metadatos se pueden considerar como descripciones que hacemos sobre cualquier clase de recurso que nos ayude a encontrarlo, identificarlo, usarlo, manejarlo, evaluarlo y preservarlo.</p>
<h4>¿Cómo se pueden usar los metadatos?</h4>
<p>Puedes usarlos para:</p>
<ul>
<li> descubrir servicios</li>
<li> identificar versiones</li>
<li> marcar la estructura del contenido</li>
<li> manejar documentos</li>
<li> certificar auntenticidad</li>
<li> situar geoespacialmente</li>
<li> control de derechos</li>
<li> indicar estatus</li>
<li> describir procesos</li>
</ul>
<h4>Bases de los metadatos</h4>
<ol>
<li>La unidad básica del metadato es una afirmación</li>
<li>Una afirmación consiste de una propiedad (elemento) y un valor</li>
<li>Todas estas afirmaciones describen los recursos</li>
</ol>
<h4>¿A quién le importa los metadatos?</h4>
<p>El término &#8220;metadato&#8221; tiene sentido en contextos tales como:</p>
<ul>
<li>El modelado de datos,</li>
<li>la catalogación de libros en bibliotecas</li>
<li>el <em>descubrimeniento de nuevos recursos</em> en internet</li>
</ul>
<h2></h2>
<h2>Metadatos y Dublin Core</h2>
<p><a href="http://dublincore.org/" title="Dublin Core Metadata Initiative"><img src="http://dublincore.org/images/header/logo_sm.gif" alt="Dublin Core Logo" align="left" height="70" width="150" /></a>Dublin Core fue diseñado específicamente para proporcionar un vocabulario de características &#8220;base&#8221;, capaces de proporcionar la información descriptiva básica sobre cualquier recurso, sin que importe el formato de origen, el área de especialización o el origen cultural (<a href="http://es.wikipedia.org/wiki/Dublin_Core" title="Definición de Dublin Core">extraído</a> de la wikipedia).</p>
<p>Este vocabulario es el resultado de muchos años de búsqueda colaborativa con el objetivo de determinar un conjunto común de propiedades universales que describan cualquier tipo de recurso. El uso de sistemas de clasificación estandarizados hace posible que los metadatos de diferentes colecciones sean combinados y compartidos.</p>
<p>El vocabulario de Dublin Core está formado por elementos. Elementos con nombres descriptivos que pretenden transmitir un significado semántico a los mismos.</p>
<p>Podemos clasificar estos elementos en tres grupos que indican la clase o el ámbito de la información que se guarda en ellos:</p>
<p>1. Elementos relacionados principalmente con el contenido del recurso<br />
2. Elementos relacionados principalmente con el recurso cuando es visto como una propiedad intelectual<br />
3. Elementos relacionados principalmente con la instanciación del recurso</p>
<p>Los 15 elementos del vocabulario de Dublin Core:</p>
<table>
<thead>
<td>
<address> </address>
</td>
<td>
<address><u><strong>Elemento</strong></u></address>
</td>
<td>
<address><u><strong>Etiqueta</strong></u></address>
</td>
<td>
<address><u><strong>Descripción</strong></u></address>
</td>
</thead>
<tbody>
<tr>
<td>
<address><font color="#c0c0c0">1</font></address>
</td>
<td>
<address><strong>Título</strong></address>
</td>
<td>
<address>DC.Title</address>
</td>
<td>
<address>El nombre dado a un recurso, usualmente por el autor.</address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">2</font></address>
</td>
<td>
<address><font color="#000080"><strong>Autor</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Creator</font></address>
</td>
<td>
<address><font color="#000080">La persona u organización responsable de la creación del contenido intelectual del recurso. Por ejemplo, los autores en el caso de documentos escritos, artistas, fotografos e ilustradoresen el caso de recursos visuales.</font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">3</font></address>
</td>
<td>
<address><strong>Claves</strong></address>
</td>
<td>
<address>DC.Subject</address>
</td>
<td>
<address>Los tópicos del recurso. Típicamente, Subject expresará las claves o frases que describen el título o el contenido del recurso. Se fomentará el uso de vocabularios controlados y de sistemas de clasificación formales.</address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">4</font></address>
</td>
<td>
<address><font color="#000080"><strong>Descripción</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Description</font></address>
</td>
<td>
<address><font color="#000080">Una descripción textual del recurso, tal como un resumen en el caso de un documento o una descripción del contenidoen el caso de un documento visual.</font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">5</font></address>
</td>
<td>
<address><strong>Editor</strong></address>
</td>
<td>
<address>DC.Publisher</address>
</td>
<td>
<address>La entidad responsable de hacer que el recurso se encuentre disponible en la red en su formato actual. Por ejemplo la empresa editora, un departamento universitario u otro tipo de organización.</address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">6</font></address>
</td>
<td>
<address><font color="#000080"><strong>Colaboradores</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Contributor</font></address>
</td>
<td>
<address><font color="#000080">Una persona u organizacion que haya tenido una contribución intelectual significativa en la creación del recurso pero cuyas contribuciones son secundarias en comparación a las de las personas u organizaciones especificadas en el elementeo Creator (por ejemplo, editor, ilustrador y traductor).</font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">7</font></address>
</td>
<td>
<address><strong>Fecha</strong></address>
</td>
<td>
<address>DC.Date</address>
</td>
<td>
<address><span>Una fecha en la que el recurso se puso a disposición del usuario en su forma actual. Esta fecha no ha de confundirsecon la que pertenece al elemento Coverage, que sería asociada con el recurso so</span>lo en la medida en que el contenido intelectualestá de algún modo relacionado con esa fecha.</address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">8</font></address>
</td>
<td>
<address><font color="#000080"><strong>Tipo del Recurso</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Type</font></address>
</td>
<td>
<address><font color="#000080"><span>La categoría del recurso, por ejemplo página personal, romance, poema, minuta, diccionario. Para asegurar la interoperabilidad, Type debería ser seleccionado de entre unalista de valores que actualmente se encuentra bajo desarrollo en un grupo de trabajo.</span></font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">8</font></address>
</td>
<td>
<address><strong>Formato</strong></address>
</td>
<td>
<address>DC.Format</address>
</td>
<td>
<address><span>El formato de datos de un recurso, usado para identificar el software y posiblemente, el hardware que se necesitaría para mostrar el recurso. Para asegurar la interoperabilidad, los valores de Format deberían ser seleccionados de entre una lista de valores que actualmente se encuentra bajo desarrollo en un grupo de trabajo.</span></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">10</font></address>
</td>
<td>
<address><font color="#000080"><strong>Identificador</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Identifier</font></address>
</td>
<td>
<address><font color="#000080">Secuencia de caracteres usados para identificar unívocamente un recurso. Ejemplos para recursos en línea pueden ser URLs y URNs (cuando estén implementados). Para otros recursos pueden ser usados otros formatos de identificadores, como por ejemplo ISBN (&#8220;International Standard Book Number&#8221; &#8211; Número Internacional Normalizado para Libros)</font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">11</font></address>
</td>
<td>
<address><strong>Fuente</strong></address>
</td>
<td>
<address>DC.Source</address>
</td>
<td>
<address>Secuencia de caracteres utilizado para identificar unívocamente un trabajo a partir del cual proviene el recurso actual. Por ejemplo, es posible usar Source con la fecha de 1603 como descripción de una película basada en una obra de Shakespeare, pero es preferible, en ese caso, usar Relation &#8220;IsBasedOn&#8221; con una referencia a un recurso distinto cuyadescripción contenga el elemento Date con valor 1603.</address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">12</font></address>
</td>
<td>
<address><font color="#000080"><strong>Lengua</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Language</font></address>
</td>
<td>
<address><font color="#000080">Lengua/s del contenido intelectual del recurso. Practicamente el contenido de este campo debería coincidir con los de la RFC 1766 (Tags para la identificación de lenguas, http://ds.internic.net/rfc/rf766.txt ); por ejemplo: en, es, de, fi, ja y zh.</font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">13</font></address>
</td>
<td>
<address><strong>Relación</strong></address>
</td>
<td>
<address>DC.Relation</address>
</td>
<td>
<address>Un identificador de un segundo recurso y su relación con el recurso actual. Este elemento permite enlazar los recursos relacionados y las descripciones de los recursos.</address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">14</font></address>
</td>
<td>
<address><font color="#000080"><strong>Cobertura</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Coverage</font></address>
</td>
<td>
<address><font color="#000080">La característica de cobertura espacial y/o temporal del contenido intelectual del recurso. La cobertura espacial se refiere a una región física (por ejemplo, sector celestial); uso de coordenadas (por ejemplo, longitud y latitud)o nombres de lugares extraidos de una lista controlada. La cobertura temporal se refiere al contenido del recurso en vez de a cuando fue creado o puesto accesible ya que este último pertenece al elemento Fecha.</font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">15</font></address>
</td>
<td>
<address><strong>Derechos</strong></address>
</td>
<td>
<address>DC.Rights</address>
</td>
<td>
<address>Una referencia (URL, por ejemplo) para una nota sobre derechos de autor, para un servicio de gestión de derechos o para un servicio que dará información sobre términos y condiciones de acceso a un recurso. Una especificación formal del elemento Rights se encuentra actualmente en discusión y por lo tanto su uso se considera experimental.</address>
</td>
</tr>
</tbody>
</table>
<p>Continuará&#8230;<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/14" rel="bookmark" title="01/12/2007"><span property="dc:date" content="2007-12-07 18:18:38" resource="http://www.vazaar-project.org/blog/archives/20" /><span rel="http://www.vazaar-project.org/blog/archives/20" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/20">Nepomuk (y II)</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/3" rel="bookmark" title="31/10/2007"><span property="dc:date" content="2007-12-07 18:18:38" resource="http://www.vazaar-project.org/blog/archives/20" /><span rel="http://www.vazaar-project.org/blog/archives/20" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/20">Comenzando&#8230;</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/24" rel="bookmark" title="28/02/2008"><span property="dc:date" content="2007-12-07 18:18:38" resource="http://www.vazaar-project.org/blog/archives/20" /><span rel="http://www.vazaar-project.org/blog/archives/20" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/20">Dublin Core Metadata Glossary</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/17" rel="bookmark" title="02/12/2007"><span property="dc:date" content="2007-12-07 18:18:38" resource="http://www.vazaar-project.org/blog/archives/20" /><span rel="http://www.vazaar-project.org/blog/archives/20" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/20">Extrayendo metadatos: libextractor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/10" rel="bookmark" title="26/11/2007"><span property="dc:date" content="2007-12-07 18:18:38" resource="http://www.vazaar-project.org/blog/archives/20" /><span rel="http://www.vazaar-project.org/blog/archives/20" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/20">Nepomuk</span></a></li>
</ul>
<p><!-- Similar Posts took 12.762 ms --></p>
<div class="shr-publisher-20"></div><div style="display:block"><small><em>posted in <a href="http://www.vazaar-project.org/blog/archives/category/school/semantic-web-school/dublin-core">Dublin Core</a> by <span property="dc:creator" resource="http://www.vazaar-project.org/blog/archives/20">Tomás Vírseda</span> <a href="http://www.vazaar-project.org/blog/archives/20#comments">Leave A Comment</a><br />&copy;2010 <a href="http://www.vazaar-project.org/blog">Vazaar Project Blog</a>. All Rights Reserved.</em></small></div>]]></description>
			<content:encoded><![CDATA[<p>Este es el primero de una serie de artículos sobre Dublin Core (DC) y metadatos. Explicaré un poco la teoría e intentaré mostrar ejemplos prácticos de su uso en Vazaar. Para realizarlo me he ayudado de una traducción al español de DC que he encontrado en <a href="http://www.rediris.es/metadata/dublin_core_elements.es.html" title="Javier Masa, RedIris: Metainformación - Dublin Core">RedIris</a> y diversa documentación que he ido encontrando en la <a href="http://dublincore.org" title="Dublin Core Metadata Initiative">web de Dublin Core</a>. Antes de empezar definiendo que es Dublin Core hay que entender que son los metadatos. Por lo tanto,</p>
<p><span id="more-20"></span></p>
<h4>¿Qué son los metadatos?</h4>
<p>Los metadatos se pueden considerar como descripciones que hacemos sobre cualquier clase de recurso que nos ayude a encontrarlo, identificarlo, usarlo, manejarlo, evaluarlo y preservarlo.</p>
<h4>¿Cómo se pueden usar los metadatos?</h4>
<p>Puedes usarlos para:</p>
<ul>
<li> descubrir servicios</li>
<li> identificar versiones</li>
<li> marcar la estructura del contenido</li>
<li> manejar documentos</li>
<li> certificar auntenticidad</li>
<li> situar geoespacialmente</li>
<li> control de derechos</li>
<li> indicar estatus</li>
<li> describir procesos</li>
</ul>
<h4>Bases de los metadatos</h4>
<ol>
<li>La unidad básica del metadato es una afirmación</li>
<li>Una afirmación consiste de una propiedad (elemento) y un valor</li>
<li>Todas estas afirmaciones describen los recursos</li>
</ol>
<h4>¿A quién le importa los metadatos?</h4>
<p>El término &#8220;metadato&#8221; tiene sentido en contextos tales como:</p>
<ul>
<li>El modelado de datos,</li>
<li>la catalogación de libros en bibliotecas</li>
<li>el <em>descubrimeniento de nuevos recursos</em> en internet</li>
</ul>
<h2></h2>
<h2>Metadatos y Dublin Core</h2>
<p><a href="http://dublincore.org/" title="Dublin Core Metadata Initiative"><img src="http://dublincore.org/images/header/logo_sm.gif" alt="Dublin Core Logo" align="left" height="70" width="150" /></a>Dublin Core fue diseñado específicamente para proporcionar un vocabulario de características &#8220;base&#8221;, capaces de proporcionar la información descriptiva básica sobre cualquier recurso, sin que importe el formato de origen, el área de especialización o el origen cultural (<a href="http://es.wikipedia.org/wiki/Dublin_Core" title="Definición de Dublin Core">extraído</a> de la wikipedia).</p>
<p>Este vocabulario es el resultado de muchos años de búsqueda colaborativa con el objetivo de determinar un conjunto común de propiedades universales que describan cualquier tipo de recurso. El uso de sistemas de clasificación estandarizados hace posible que los metadatos de diferentes colecciones sean combinados y compartidos.</p>
<p>El vocabulario de Dublin Core está formado por elementos. Elementos con nombres descriptivos que pretenden transmitir un significado semántico a los mismos.</p>
<p>Podemos clasificar estos elementos en tres grupos que indican la clase o el ámbito de la información que se guarda en ellos:</p>
<p>1. Elementos relacionados principalmente con el contenido del recurso<br />
2. Elementos relacionados principalmente con el recurso cuando es visto como una propiedad intelectual<br />
3. Elementos relacionados principalmente con la instanciación del recurso</p>
<p>Los 15 elementos del vocabulario de Dublin Core:</p>
<table>
<thead>
<td>
<address> </address>
</td>
<td>
<address><u><strong>Elemento</strong></u></address>
</td>
<td>
<address><u><strong>Etiqueta</strong></u></address>
</td>
<td>
<address><u><strong>Descripción</strong></u></address>
</td>
</thead>
<tbody>
<tr>
<td>
<address><font color="#c0c0c0">1</font></address>
</td>
<td>
<address><strong>Título</strong></address>
</td>
<td>
<address>DC.Title</address>
</td>
<td>
<address>El nombre dado a un recurso, usualmente por el autor.</address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">2</font></address>
</td>
<td>
<address><font color="#000080"><strong>Autor</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Creator</font></address>
</td>
<td>
<address><font color="#000080">La persona u organización responsable de la creación del contenido intelectual del recurso. Por ejemplo, los autores en el caso de documentos escritos, artistas, fotografos e ilustradoresen el caso de recursos visuales.</font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">3</font></address>
</td>
<td>
<address><strong>Claves</strong></address>
</td>
<td>
<address>DC.Subject</address>
</td>
<td>
<address>Los tópicos del recurso. Típicamente, Subject expresará las claves o frases que describen el título o el contenido del recurso. Se fomentará el uso de vocabularios controlados y de sistemas de clasificación formales.</address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">4</font></address>
</td>
<td>
<address><font color="#000080"><strong>Descripción</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Description</font></address>
</td>
<td>
<address><font color="#000080">Una descripción textual del recurso, tal como un resumen en el caso de un documento o una descripción del contenidoen el caso de un documento visual.</font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">5</font></address>
</td>
<td>
<address><strong>Editor</strong></address>
</td>
<td>
<address>DC.Publisher</address>
</td>
<td>
<address>La entidad responsable de hacer que el recurso se encuentre disponible en la red en su formato actual. Por ejemplo la empresa editora, un departamento universitario u otro tipo de organización.</address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">6</font></address>
</td>
<td>
<address><font color="#000080"><strong>Colaboradores</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Contributor</font></address>
</td>
<td>
<address><font color="#000080">Una persona u organizacion que haya tenido una contribución intelectual significativa en la creación del recurso pero cuyas contribuciones son secundarias en comparación a las de las personas u organizaciones especificadas en el elementeo Creator (por ejemplo, editor, ilustrador y traductor).</font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">7</font></address>
</td>
<td>
<address><strong>Fecha</strong></address>
</td>
<td>
<address>DC.Date</address>
</td>
<td>
<address><span>Una fecha en la que el recurso se puso a disposición del usuario en su forma actual. Esta fecha no ha de confundirsecon la que pertenece al elemento Coverage, que sería asociada con el recurso so</span>lo en la medida en que el contenido intelectualestá de algún modo relacionado con esa fecha.</address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">8</font></address>
</td>
<td>
<address><font color="#000080"><strong>Tipo del Recurso</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Type</font></address>
</td>
<td>
<address><font color="#000080"><span>La categoría del recurso, por ejemplo página personal, romance, poema, minuta, diccionario. Para asegurar la interoperabilidad, Type debería ser seleccionado de entre unalista de valores que actualmente se encuentra bajo desarrollo en un grupo de trabajo.</span></font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">8</font></address>
</td>
<td>
<address><strong>Formato</strong></address>
</td>
<td>
<address>DC.Format</address>
</td>
<td>
<address><span>El formato de datos de un recurso, usado para identificar el software y posiblemente, el hardware que se necesitaría para mostrar el recurso. Para asegurar la interoperabilidad, los valores de Format deberían ser seleccionados de entre una lista de valores que actualmente se encuentra bajo desarrollo en un grupo de trabajo.</span></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">10</font></address>
</td>
<td>
<address><font color="#000080"><strong>Identificador</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Identifier</font></address>
</td>
<td>
<address><font color="#000080">Secuencia de caracteres usados para identificar unívocamente un recurso. Ejemplos para recursos en línea pueden ser URLs y URNs (cuando estén implementados). Para otros recursos pueden ser usados otros formatos de identificadores, como por ejemplo ISBN (&#8220;International Standard Book Number&#8221; &#8211; Número Internacional Normalizado para Libros)</font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">11</font></address>
</td>
<td>
<address><strong>Fuente</strong></address>
</td>
<td>
<address>DC.Source</address>
</td>
<td>
<address>Secuencia de caracteres utilizado para identificar unívocamente un trabajo a partir del cual proviene el recurso actual. Por ejemplo, es posible usar Source con la fecha de 1603 como descripción de una película basada en una obra de Shakespeare, pero es preferible, en ese caso, usar Relation &#8220;IsBasedOn&#8221; con una referencia a un recurso distinto cuyadescripción contenga el elemento Date con valor 1603.</address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">12</font></address>
</td>
<td>
<address><font color="#000080"><strong>Lengua</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Language</font></address>
</td>
<td>
<address><font color="#000080">Lengua/s del contenido intelectual del recurso. Practicamente el contenido de este campo debería coincidir con los de la RFC 1766 (Tags para la identificación de lenguas, http://ds.internic.net/rfc/rf766.txt ); por ejemplo: en, es, de, fi, ja y zh.</font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">13</font></address>
</td>
<td>
<address><strong>Relación</strong></address>
</td>
<td>
<address>DC.Relation</address>
</td>
<td>
<address>Un identificador de un segundo recurso y su relación con el recurso actual. Este elemento permite enlazar los recursos relacionados y las descripciones de los recursos.</address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">14</font></address>
</td>
<td>
<address><font color="#000080"><strong>Cobertura</strong></font></address>
</td>
<td>
<address><font color="#000080">DC.Coverage</font></address>
</td>
<td>
<address><font color="#000080">La característica de cobertura espacial y/o temporal del contenido intelectual del recurso. La cobertura espacial se refiere a una región física (por ejemplo, sector celestial); uso de coordenadas (por ejemplo, longitud y latitud)o nombres de lugares extraidos de una lista controlada. La cobertura temporal se refiere al contenido del recurso en vez de a cuando fue creado o puesto accesible ya que este último pertenece al elemento Fecha.</font></address>
</td>
</tr>
<tr>
<td>
<address><font color="#c0c0c0">15</font></address>
</td>
<td>
<address><strong>Derechos</strong></address>
</td>
<td>
<address>DC.Rights</address>
</td>
<td>
<address>Una referencia (URL, por ejemplo) para una nota sobre derechos de autor, para un servicio de gestión de derechos o para un servicio que dará información sobre términos y condiciones de acceso a un recurso. Una especificación formal del elemento Rights se encuentra actualmente en discusión y por lo tanto su uso se considera experimental.</address>
</td>
</tr>
</tbody>
</table>
<p>Continuará&#8230;<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.vazaar-project.org/blog/archives/14" rel="bookmark" title="01/12/2007"><span property="dc:date" content="2007-12-07 18:18:38" resource="http://www.vazaar-project.org/blog/archives/20" /><span rel="http://www.vazaar-project.org/blog/archives/20" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/20">Nepomuk (y II)</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/3" rel="bookmark" title="31/10/2007"><span property="dc:date" content="2007-12-07 18:18:38" resource="http://www.vazaar-project.org/blog/archives/20" /><span rel="http://www.vazaar-project.org/blog/archives/20" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/20">Comenzando&#8230;</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/24" rel="bookmark" title="28/02/2008"><span property="dc:date" content="2007-12-07 18:18:38" resource="http://www.vazaar-project.org/blog/archives/20" /><span rel="http://www.vazaar-project.org/blog/archives/20" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/20">Dublin Core Metadata Glossary</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/17" rel="bookmark" title="02/12/2007"><span property="dc:date" content="2007-12-07 18:18:38" resource="http://www.vazaar-project.org/blog/archives/20" /><span rel="http://www.vazaar-project.org/blog/archives/20" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/20">Extrayendo metadatos: libextractor</span></a></li>
<li><a href="http://www.vazaar-project.org/blog/archives/10" rel="bookmark" title="26/11/2007"><span property="dc:date" content="2007-12-07 18:18:38" resource="http://www.vazaar-project.org/blog/archives/20" /><span rel="http://www.vazaar-project.org/blog/archives/20" property="dc:title" resource="http://www.vazaar-project.org/blog/archives/20">Nepomuk</span></a></li>
</ul>
<p><!-- Similar Posts took 13.184 ms --></p>
<div class="shr-publisher-20"></div>]]></content:encoded>
			<wfw:commentRss>http://www.vazaar-project.org/blog/archives/20/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
