sw594 11.7 KB
<?xml version="1.0"?>
<!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>
  <title>A Semantic Web Language (Swell)</title>
  <meta http-equiv="Content-Type" content="text/html" />
</head>

<body>
<p><a href="../../">W3C</a> <a href="../07/hs78/Overview.html">Toward
Swell</a></p>

<h1>Toward Swell, the Semantic Web Logic Language</h1>
<address>
  status: originally sketched just before a 6 Jul meeting; integrating into <a
  href="../07/hs78/Overview.html">more swell stuff</a> before a 19-20 July
  meeting<br />
  <a href="http://www.w3.org/People/Connolly/">Dan Connolly</a><br />
  <small>$Revision: 1.15 $ of $Date: 2000/07/27 00:52:57 $ by $Author:
  connolly $</small> 
</address>
<ol>
  <li>the basic RDF statement model: subject, predicate, and object
    <ul>
      <li>demo: show a few items of shoe instance data converted to RDF in the
        <a href="http://www.w3.org/2000/04shoe-swell/">Shoe-&gt;RDF stuff</a>
        <ul>
          <li><strong>issue</strong>: symbols (URIs) vs. literals (<a
            href="http://lists.w3.org/Archives/Public/www-rdf-interest/2000May/0090.html">21
            May gotcha report</a>)</li>
        </ul>
      </li>
      <li>using XSLT to harvest facts:
        <ul>
          <li><a href="http://www.w3.org/2000/07/hs78/dc-extract/form">dublin
            core service</a>, <a
            href="http://www.w3.org/2000/07/hs78/foaf">foaf</a>/homepage/events
            stuff@@</li>
          <li>using <a
            href="http://www.w3.org/2000/07/hs78/Overview.html#link">grounded
            HTML link relationships</a>, <a
            href="http://www.w3.org/2000/07/hs78/Overview.html#classes1">grounded
            class names</a> as semantic hooks</li>
        </ul>
        <p>see also: initial <a
        href="http://lists.w3.org/Archives/Public/www-rdf-interest/2000Mar/0103.html">21
        Mar screen-scraping message</a></p>
      </li>
      <li>RDF FAQs/ratholes: people vs. their names; what URI to use when the
        RDF syntax doesn't provide one</li>
    </ul>
    <p>see also: <a href="#Introduction">this section of a swell paper</a></p>
  </li>
  <li>Schema/Ontology basics: Classes, properties
    <ul>
      <li>demo: <a href="http://www.w3.org/2000/07/hs78/algernon">algernon
        taxonomy</a>,
        <ul>
          <li>TODO allow global references in the Classes idiom</li>
          <li>NOTE: a technique for splitting property names into namespace
            name, local name parts (Jun 27 2000 <a
            href="http://lists.w3.org/Archives/Public/www-rdf-interest/2000Jun/0077.html">problem
            report</a>)</li>
        </ul>
      </li>
      <li>TODO: transcribe the RDF, RDF schema schemas?</li>
      <li>issue: other utility stuff: cardinality, inverses, ...</li>
    </ul>
  </li>
  <li>propositional calculus: introducing <a
    href="http://www.w3.org/2000/07/hs78/FOPC#implies">implies</a>, <a
    href="http://www.w3.org/2000/07/hs78/FOPC#false">false</a>
    <ul>
      <li>advanced RDF: reification (aka quoting)</li>
    </ul>
  </li>
  <li>predicate calculus: introducing <a
    href="http://www.w3.org/2000/07/hs78/FOPC#forall">forall</a> (and in doing
    so, variables)
    <ul>
      <li>show a shoe-rule (horn clause) converted: <a
        href="http://www.w3.org/2000/04shoe-swell/inference">inference
        rules</a>, <a href="http://www.w3.org/2000/04shoe-swell/">Shoe-&gt;RDF
        stuff</a></li>
      <li>demo: <a href="http://www.w3.org/2000/07/hs78/lists">in, append,
        reverse list rules</a></li>
      <li>technique: function symbols (manual unwinding)</li>
      <li>technique: n-ary symbols.. potentially automatable. NOTE
      asymmetry</li>
      <li>reduction of Rule structure to FOPC primitives</li>
      <li>need some mechanism to avoid russel's paradox?</li>
    </ul>
  </li>
  <li>Future work:
    <p></p>
    <ul>
      <li>instrumented provers/inference engines (<a
        href="http://www.ilrt.bris.ac.uk/discovery/rdf-dev/rudolf/js-rdf/">js-prolog</a>,
        algernon, euler),</li>
      <li>1st order proof checker (<a
        href="http://lists.w3.org/Archives/Public/sw99/2000JanMar/0002.html">mccune's</a>)?
        or just skip that and go right to HOL</li>
      <li>thinking about the edinburgh logical framework: modelling forAll as
        elf:lambda and an operator on top</li>
      <li>unstriped RDF syntax? does XSLT eliminate the need?<br />
        syntax exploration: <a
        href="http://www.w3.org/2000/07/rdf.xsd">rdf.xsd</a> rdfs.xsd
        inference.xsd <a
        href="http://www.w3.org/2000/07/hs78/lists.xsd">lists.xsd</a><br />
        after chat w/ralph: limit propertyElts to string content and
        rdf:resource; no nested typedNodes; move skolemization to RDF
        producer's job rather than RDF parser's.</li>
      <li>primitive datatypes (<a
        href="http://lists.w3.org/Archives/Public/www-rdf-interest/2000Feb/0026.html">16
        Feb)</a>  (<a
        href="http://lists.w3.org/Archives/Public/www-rdf-interest/2000May/0098.html">swick
        12 May</a>: still pending!)</li>
      <li>dan's use case: the calendar app: show me my schedule for today
        (assuming trusted data sources; dealing with untrusted sources
        requires dsig/higher order pf checking stuff)</li>
      <li>massimo's use case: <a
        href="http://www.w3.org/2000/07/scribe-stuff/">the next
      scribe</a></li>
      <li>lynn's use case: any new papers by any of my students? (<a
        href="http://www.ai.mit.edu/people/las/cv.html">cv</a>)</li>
      <li>integrating digital signature</li>
      <li><a
        href="http://www.isi.edu/in-notes/iana/assignments/media-types/model/">model</a>/rdf-xml
        media type spec (<a
        href="http://www.imc.org/ietf-xml-mime/">xml-mime</a>)</li>
      <li>modelling HTTP: out of date info  ... and phone number changes:
        algernon ask:tell is like http GET:POST</li>
    </ul>
  </li>
</ol>

<h2>An Introduction to the Resource Description Framework (RDF)</h2>

<p></p>

<h2><a name="Introduction" id="Introduction">Introduction</a></h2>

<p><small><em>taken from <a
href="http://lists.w3.org/Archives/Team/sw-team/2000Jul/0000.html">Some "What
is RDF" bits </a>Lynn Stein (Mon, Jul 03 2000)</em></small></p>

<p>Most knowledge representations share a common structure. Semantic
networks[<a
href="http://liinwww.ira.uka.de/cgi-bin/bibshow?e=Bj0siu/vojrvf%7d4952686&amp;r=bibtex">Woods</a>],
hypertext[<a
href="http://cbl.leeds.ac.uk/nikos/tmp/hypemedia/subsection2_2_1_2.html#SECTION0021200000000000000">Drakos</a>],
etc. use a a directed, labelled graph structure where nodes represent objects
and the arcs that connect them represent assertions <a
href="#arc-as-obj">*note</a>. In frame-based representations [<a
href="http://liinwww.ira.uka.de/cgi-bin/bibshow?e=Pt0JNNE%60JW/vojrvf%7d927398&amp;r=bibtex">Minsky</a>],
slot-relations connect role-fillers to a frame; frames themselves may also be
interconnected by relations such as inheritance. In logical formalisms[<a
href="http://liinwww.ira.uka.de/cgi-bin/bibshow?e=Bj0Tqbujbm/Sfbtpojoh/vojrvf%7d3317916&amp;r=bibtex">McCarthy</a>],
binary relations are easily expressed using this property notation, though
arbitrary n-ary relations require an additional translation mechanism <a
href="#n-ary">*note</a>.</p>

<p>The Resource Description Framework [<a href="#RDF">RDF</a>] is an emerging
standard for the exchange of knowledge in the form of directed, labelled
graphs. At its core is this notion of a <strong>statement</strong>, with a
<strong>subject</strong> and an <strong>object</strong> related by a
<strong>property</strong>. For example</p>

<blockquote>
  Dan is the author of the program.</blockquote>

<p>"Dan" is the source, or the subject, of the statement, "is the author of"
is the property, and "the program" is the object.</p>

<p>RDF builds on commodity web technologies: Uniform Resource Identifiers[<a
href="#URI">URI</a>] for identifier syntax, and Extensible Markup Language[<a
href="#XML">XML</a>] for structured syntax. Each of the subject, object, or
property in an RDF statement can be a URI. The core of the XML syntax for RDF
does little more than distinguish the parts of a statement. So, to persue the
example above, we might represent that statement as:</p>
<pre>&lt;rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-ns#"
  xmlns:dublinCore="http://purl.org/dc/elements/1.0/"&gt;<br />


  &lt;rdf:Descript<tt>ion about="#theProgram"&gt;</tt>
<tt>     </tt>&lt;dublinCore:cr<tt>eator&gt;Dan Connolly&lt;/dublinCore:creator&gt;</tt>
<tt>  </tt>&lt;/rdf:D<tt>escription&gt;</tt><br />


&lt;/rdf:RDF&gt;</pre>

<p>where <i>dublinCore</i> is the namespace for the Dublin Core metadata @@
(explain XML namespaces in a sentence or two).</p>

<p>@@@Dan stopped here.</p>

<p>If this description now exists in some document, it can be given a URI. @@@
establish example.</p>

<p>Then we can say</p>

<p>subject</p>

<p>predicate</p>

<p>object</p>

<p>The subject and object can be any resource. But the predicate must be a
property @@@</p>

<p>Stuff on typing, restrictions (domain, range), class, subclass,
subproperty.</p>

<p>Need containers, comments, labels, ...?</p>

<p>Also pictures throughout (that someone else gets to draw).</p>

<p>Footnotes</p>
<ol>
  <li><a name="arc-as-obj" id="arc-as-obj">Note</a> that this does not
    preclude the inclusion of arcs as "objects" connected by other arcs.</li>
  <li><a name="n-ary" id="n-ary">Either</a> of two alternatives techniques can
    be used to express n-ary relations using binary properties: currying or
    reification.</li>
</ol>

<h2>References</h2>
<dl>
  <dt>[Rao &amp; Turoff]</dt>
    <dd>Rao, Usha &amp; <a href="http://eies.njit.edu/~turoff/">Turoff</a>,
      Murray. <cite>Hypertext Functionality: A Theoretical Framework</cite>,
      International Journal of Human-Computer Interaction, 1990.</dd>
  <dt>[<a name="Craw90" id="Craw90">Craw90</a>]</dt>
    <dd>Crawford, J. (1990), <a
      href="ftp://ftp.cs.utexas.edu/pub/qsim/papers/Crawford-PhD-91.ps.Z"><cite>Access-Limited
      Logic: A Language for Knowledge Representation</cite></a>, Doctoral
      dissertation, Department of Computer Sciences, University of Texas at
      Austin, Austin, Texas. UT Artificial Intelligence TR AI90-141, October
      1990. (<a
      href="http://www.cs.utexas.edu/users/qr/algernon.html">Algernon and
      Access-Limited Logic</a>)</dd>
  <dt>[<a name="RDF" id="RDF">RDF</a>]</dt>
    <dd>Lassila, Swick [eds], <a
      href="../../TR/1999/REC-rdf-syntax-19990222"><cite>Resource Description
      Framework (RDF) Model and Syntax Specification</cite></a> (World Wide
      Web Consortium Recommendation, 1999)</dd>
    <dd><tt><small>http://www.w3.org/TR/1999/REC-rdf-syntax-19990222</small></tt></dd>
  <dt>[<a name="URI" id="URI">URI</a>]</dt>
    <dd>August 1998 <a
      href="http://www.ietf.org/rfc/rfc2396.txt"><cite>Uniform Resource
      Identifiers (URI): Generic Syntax</cite></a></dd>
    <dd>(RFC 2396) T. Berners-Lee, R. Fielding, L. Masinter</dd>
  <dt>[<a name="XML" id="XML">XML</a>]</dt>
    <dd>Feb 1998: W3C Recommendation: <a
      href="../../TR/1998/REC-xml-19980210"><cite>Extensible Markup Language
      (XML) 1.0</cite></a></dd>
</dl>

<h2>Acknowledgements and @@Fodder</h2>
<ul>
  <li><a
    href="http://lists.w3.org/Archives/Team/sw-team/2000Jul/0000.html">Some
    "What is RDF" bits</a>Lynn Stein (Mon, Jul 03 2000)</li>
  <li><a href="../../DesignIssues/Toolbox.html">Semantic Web Toolbox</a> Tim
    BL, 1999 (in progress)</li>
  <li><a
    href="http://lists.w3.org/Archives/Team/sw-team/2000Jun/0021.html">notes
    from 'modelling inference rules' discussion</a> Ralph R. Swick (Fri, Jun
    23 2000)</li>
  <li><a href="../01/sw/bibliography.html">bibliography from work on DARPA
    proposal</a></li>
</ul>
</body>
</html>