The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Stag - Structured Tag Library</title>
  </head>

  <body>
    <h1>Stag - Structured Tag Library</h1>

    <table>
      <tr>
	<td valign="top" bgcolor="#000000">
	</td>
	<td>
	  
	  The Stag project currently consists of two perl modules,
	  both of which are available from <a href="http://www.cpan.org">CPAN</a> or <a href="http://sourceforge.net/projects/stag">sourceforge</a>:

	  <h3>Data::Stag</h3>
	  <p>
	    This perl module is for querying and manipulating complex
	    data as recursively nested tag/value pairs
	    (<b>S</b>tructured <b>tag</b>s or <b>S</b>imple
	    <b>T</b>ree <b>ag</b>greggates). Procedural and
	    object-oriented modes are supported. Tags can be accessed
	    by autogenerated accessor methods.
	  </p>
	  <p>
	    XML is a hierarchical data format, so this module can
	    be used as an XML parser/writer. Other hierarchical formats
	    are supported, including lisp S-Expressions (i.e. <a
	    href="http://okmij.org/ftp/Scheme/xml.html">SXML</a>) and
	    indented-text.
	  </p>
	  <p>
	    Construction of parsers, transformers and writers is
	    simplified with structured tag events, similar to and
	    compatible with SAX.
	  </p>
	  <p>
	    As well as being a useful module for perl developers, this
	    module also comes with a number of useful scripts for
	    manipulating stag data.
	  </p>
	  <p>
	    At this time there is only a perl
	    implementation, <a
	    href="http://search.cpan.org/perldoc?Data::Stag">Data::Stag</a>,
	    but C and Lisp implementations are planned.
	  </p>
	  <h3>DBIx::DBStag</h3>

	  <p>
	    This module is for conversion between relational
	    representations and hierarchical tag-value pairs,
	    <em>i.e.</em> Stag trees, or XML.
	  </p>
	  <p><b>Querying:</b> SQL query results are automatically
	    decomposed into the relations used in the query, and a
	    hierarchical structure is inferred. This allows you to go
	    from multi-table joins to deeply nested hierarchical
	    representations that capture the foreign key data in the
	    database.
	  </p>
	  <p>
	    This modules also allows you to create <b>SQL
	    templates</b> - a powerful way of reusing complex SQL
	    statements.
	  </p>
	  <p><b>Storage:</b> Stag trees can be stored in a relational
		database with a minimum of metadata. There are also
		scripts to help with construction of ad-hoc normalised
		relational databases from XML sources.
	  </p>
	  <p>
	    <a href="http://search.cpan.org/perldoc?DBIx::DBStag">DBIx::DBStag</a>
	  </p>
	</td>
      </tr>
    </table>

    <hr>

      <table>
        <tr>
          <td bgcolor="#FF8888">
	    <a href="http://search.cpan.org/perldoc?Data::Stag">Data::Stag</a>
	    and
	    <a href="http://search.cpan.org/perldoc?DBIx::DBStag">DBIx::DBStag</a>
          </td>
          <td>
	    Perl module documentation on CPAN
          </td>
        </tr>

      <table>
        <tr>
          <td bgcolor="#FF8888">
	    <a href="script-list.html">Script Docs</a>
          </td>
          <td>
	      Stag script documentation (these scripts come with the
	      Stag and DBStag distributions)
          </td>
        </tr>

        <tr>
          <td bgcolor="#FF8888">
            <a
	      href="http://www.godatabase.org/cgi-bin/ubiq/ubiq.cgi">UBIQ Query Interface</a>
          </td>
          <td>
            A demo of DBStag for mapping query results to hierarchical
            tag-value data. This interface provides WWW access to a
            number of bioinformatics databases (Gene Ontology, Ensembl, Chado,
            BioSQL, GadFly). Templates can be selected, or you can
            feed in your own SQL.
          </td>
        </tr>

        <tr>
          <td bgcolor="#FF8888">
            <a href="http://sourceforge.net/projects/stag">Stag
              project page on Sourceforge</a>
          </td>
          <td>
            Here you can find the Stag CVS repository, mail lists, etc
          </td>
        </tr>

        <tr>
          <td bgcolor="#FF8888">
            <a
	      href="http://www.fruitfly.org/~cjm/rel-talk/dbistag.html">DBStag Tutorial</a>
          </td>
          <td>
            Brief tutorial on basic DBStag usage for biological
	    databases.
	    (slightly out of date - some aspects of DBStag may have changed)
          </td>
        </tr>

        <tr>
          <td bgcolor="#FF8888">
            <a href="http://search.cpan.org/perldoc?DBIx::DBStag::Cookbook">DBIx::DBStag::Cookbook</a>
          </td>
          <td>
            DBStag cookbook - shows how to generate a normalised
            relational db from an XML source (the CIA world factbook),
            create your own SQL templates and build a WWW query
            interface
          </td>
        </tr>

        <tr>
          <td bgcolor="#FF8888">
            <a href="http://search.cpan.org/perldoc?DBIx::DBStag::SQLTemplate">DBIx::DBStag::SQLTemplate</a>
          </td>
          <td>
            The POD manpage describing SQL templates - a powerful way
            of reusing complex SQL statements
          </td>
        </tr>

        <tr>
          <td bgcolor="#FF8888">
            <a href="stag-poster.html">Stag Poster</a>
          </td>
          <td>
            DBStag poster from Genome Informatics 2003 at Cold Spring Harbor
            Laboratory (large image)
          </td>
        </tr>
        <tr>
          <td bgcolor="#FF8888">
            <a
	      href="http://www.godatabase.org/dev/sql/stag-templates/">Example Stag Templates</a>
          </td>
          <td>
	    Some example Stag SQL templates for the <a href="http://www.godatabase.org/dev">Gene Ontology Database</a>
          </td>
        </tr>

      </table>

      <hr>
	<a href="http://sourceforge.net"> 
	  <img src="http://sourceforge.net/sflogo.php?group_id=68482&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo"></a>
	
	<hr>
	  <address><a href="mailto:cjm@fruitfly.org">chris mungall</a></address>
	  <!-- Created: Tue Dec  3 11:47:11 PST 2002 -->
	  <!-- hhmts start -->
Last modified: Wed Dec  1 14:39:33 PST 2004
<!-- hhmts end -->
  </body>
</html>