1. Dan Connolly
  2. swap

Source

swap / Overview.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 1st August 2004), see www.w3.org" />

  <title>Semantic Web Application Platform</title>
  <meta http-equiv="Content-Type" content=
  "text/html; charset=us-ascii" />
  <link href="/StyleSheets/base.css" rel="stylesheet" type=
  "text/css" />
</head>

<body lang="en" xml:lang="en">
  <p><a href="/">W3C</a> | <a href=
  "/2000/01/sw/Overview.html">Semantic Web</a></p><a href=
  "http://www.w3.org/RDF/" title=
  "RDF Resource Description Framework"><img border="0" src=
  "http://www.w3.org/RDF/icons/rdf_w3c_icon.48" alt=
  "RDF Resource Description Framework" align="right" /></a>

  <h1>Semantic Web Application Platform - SWAP</h1>

  <p>or, if you like, <em>Semantic Web Area for Play</em>...
  visiting RDF and all points west. working toward the SWELL
  langauge, MIT-LCS's advanced development prototyping of tools and
  langauges for the Semantic Web.</p>

  <p>This NOT W3C endorsed material, it is related to the Semantic
  Web activity of the W3C.</p>

  <p>Other related material:</p>

  <ul>
    <li><a href="Primer.html">A primer for getting into RDF using
    N3</a></li>

    <li><a href="Examples.html">Examples</a></li>

    <li>
      <a href="">SWAP</a> cwm and other tools; Open Source.

      <ul>
        <li><a href="doc/cwm.html">The <strong>cwm</strong> home
        page</a></li>

        <li><a href="http://infomesh.net/2001/cwm/">Sean Palmer's
        guide to cwm</a></li>
      </ul>
    </li>

    <li>
      <a href="/DesignIssues/Notation3.html">Notation3</a>

      <ul>
        <li><a href=
        "http://www.w3.org/DesignIssues/N3Alternatives.html">Design
        alternatives considerd in the design of Notation3</a></li>
      </ul>
    </li>

    <li><a href=
    "http://www.w3.org/DesignIssues/N3Alternatives.html">Design
    alternatives considerd in the design of Notation3</a></li>

    <li><a href="doc/Motivation.html">Motivations for N3 and
    cwm</a></li>
  </ul>

  <h2>Source</h2>

  <p>This <a href=
  "http://dev.w3.org/cvsweb/2000/10/swap/">stuff</a> is not
  guaranteed but is open source and available from the <a href=
  "http://dev.w3.org/cvsweb/">public w3c CVS repository</a>.</p>

  <h3>Cwm - a general-purpose semantic web data processing
  tool</h3>

  <ul>
    <li><a href="doc/cwm.html">The cwm home page</a></li>
  </ul>

  <p>Check out *.py from the top level of the swap hierarchy to use
  it, check out the whole tree to develop.</p>

  <p>Set up an alias (.bat file, etc) to make the cwm command
  cwm="python /wherever/cwm.py"</p>

  <h3>Other utilities in python</h3>

  <ul>
    <li><a href="pim/qif2n3.py">Convert Quicken(tm) .QIF data into
    RDF</a></li>

    <li><a href="pim/lookout.py">Extract Microsoft(tm) Outlook(tm)
    data into RDF</a> <a>-- lookout.py (tm) ;-)</a></li>

    <li><a href="tab2n3.py">tab2n3.py</a> -- Convert tab separated
    text files into RDF</li>

    <li><a href="dbork/dbview.py">dbview.py</a> -- export an SQL
    database as RDF over HTTP (design note: <a href=
    "/DesignIssues/RDB-RDF.html">Relational Databases on the
    Semantic Web</a>)</li>

    <li><a href="util/make2n3.py">make2n3.py</a> -- convert
    makefile dependencies to RDF</li>

    <li><a href="xml2infoset.py">xml2infoset.py</a> -- convert XML
    infoset/parse structure to RDF (see also: <a href=
    "infoset/xmod67.html">Using RDF to model XML
    structures</a>)</li>

    <li><a href="cant.py">cant.py</a> -- cannonicalize N-Triples
    graphs</li>
  </ul>

  <p>nearby: <a href="/2002/01dc-nj/toICal.py">toICal.py</a> --
  (the start of) a converter from RDF to ICal. (see also: <a href=
  "http://www.sourceforge.net/projects/freeassociation/">libical</a>),
  <a href=
  "http://dev.w3.org/cvsweb/2001/palmagent/vcal2xml.pl?rev=1.4&amp;content-type=text/x-cvsweb-markup">
  vcal2xml.pl</a> (in <a href=
  "http://dev.w3.org/cvsweb/2001/palmagent/">palmagent</a>), which
  actually converts ical to RDF.</p>

  <h2>Ontologies</h2>

  <p>These are lists of RDF terms (properties and classes) which we
  have used for putting together test and demo applications, and
  organizing our dailiy lives. Most are defined in n3, many have
  xml versions. If you don't have it in XML, use cwm to transcode
  it.</p>

  <h3>Cwm built-ins</h3>

  <p>For cwm these are magic - these are properties which cwm can
  infer or which allow cwm to infer things. They are like built-in
  functions in a programming language. Not every N3 processor
  handles the same built-ins.</p>

  <ul>
    <li>Logic - as used by cwm</li>

    <li>String - built in</li>

    <li>Math - builtin</li>

    <li>Crypto - digital sugnature</li>

    <li>OS - Operating system interface; environment, command line
    &amp;c</li>
  </ul>

  <p>See the <a href="doc/cwm.html">cwm</a> page for details.</p>

  <h3>Utility ontologies</h3>

  <p>As we have experimented, we have generated a number of general
  purpose ontologies.</p>

  <p>While in the long term there may be much better standard ones,
  for what its worth</p>

  <p>there is a list a slide in the <a href=
  "talk/Overview.html">talk</a>.</p>

  <h3>Basic RDF ontologies</h3>

  <p>Not here, but things everyone needs</p>

  <ul>
    <li>The RDF schema vocabulary</li>

    <li>The OWL web ontology vocabulary</li>
  </ul>
  <hr />

  <h2 id="Motivation">History: Motivation</h2>

  <p>The requirements of this system are now</p>

  <ul>
    <li>To check the semantic web layer cake is feasable

      <p>To make a rules langauge which is a smooth extension of
      RDF</p>

      <p>To make</p>
    </li>
  </ul>

  <p>These are a few things I put together to</p>

  <ul>
    <li>Resolve the fact that I had no code development
    environment</li>

    <li><a href="#L88">Check out python</a></li>

    <li>Investigate the questions of the real RDF model
    particularly with respect to

      <ul>
        <li>alternative quick scribbling (wiki wiki?) syntax -
        notation3</li>

        <li>managing several bags of RDF data, not covered by the
        RDF spec</li>

        <li>relationships between this and rule languages</li>

        <li>a generic logic framework for implementing various
        systems</li>
      </ul>
    </li>

    <li>Generate some tools for munging RDF</li>
  </ul>

  <h2>Places to talk about this</h2>

  <p>See <a href="doc/cwm.html#disc">cwm discussion</a>.</p>

  <h3>Acknowledgements</h3>

  <p>Contributors of code:</p>

  <ul>
    <li>Tim Berners-Lee</li>

    <li>Dan Connolly</li>

    <li>Sean Palmer</li>

    <li>Mark Nottingham</li>
  </ul>

  <p>and contributions of ideas and all other kinds from those on
  #rdfig. Thanks to all. KUTGW!</p>

  <h3 id="L88">By the way... Python is cool.</h3>

  <p>I had lamented that it ws a long time since I had a practial
  hacking environment, and Dan Connolly suggested <a href=
  "http://www.python.org/">Python</a> as something you could start
  quickly but which would scale to a large system. One day, as I
  was leaving for the airport, I got my laptop back out of my bag,
  and sucked off the web the <a href=
  "http://www.python.org/1.6/">python 1.6 system</a> and the
  <a href="http://www.python.org/doc/current/tut/tut.html">python
  tutorial</a>, and a copy of a small <a href=
  "../n3/notation3.py">notation3 parser</a> Dan had hacked
  together. I was happy to find that Python is a language you can
  get into on one battery! I have been happily hacking ever
  since.</p>

  <p>I remember Guido trying to persuade me to use python as I was
  trying to persuade him to write web software.</p>
  <hr />

  <address>
    <a href="../../../People/Berners-Lee/">Tim BL</a>, with his director hat off<br />
    <small>$Id$</small>
  </address>

  <p><a href="Overview.html,tools">About this page</a></p>
</body>
</html>