Logic and Using The Semantic Web Toolbox

Using the Semantic Web Toolbox...
I presume everyone has seen http://www.w3.org/DesignIssues/Toolbox.html
(which provides a "toolbox" of methods for introducing logic without too
much reification, and also without prose definitons: i.e. the next basic
block of the SW.)
I have a question concerning schematically defining the main concept that
the document introduces (logic functions). For example, the following list:-

<forall var="x">
 <if rdf:about="#list">
   <w3c:member "id=statement"
      about="http://www.w3.org/"><var ref="#x">
   </w3c:member>
   <then><implies rdf:value="#statement" /></then>
 </if>
</forall>
<foo:container id="list"
   rdf:about="http://www.w3.org/">
   <w3c:member>http://www.ibm.com/"</w3c:member>
   <w3c:member>http://www.hp.com/"</w3c:member>
   <w3c:member>http://www.netscape.com/"</w3c:member>
   <w3c:member>http://www.sun.com/"</w3c:member>
   <w3c:member>http://www.acme.com/"</w3c:member>
</foo:container>

Which uses an "if/then" syntax. Mr. Berners-Lee comments at the beginning of
the document that "Within this document, XML elements with namespace prefix
are assumed to be defined as pointing to something the reader can figure
out, and unprefixed element names are used for new features which are
introduced in this document."
The logic assertions that he constructs are excellent, and provide many
opportunities for SW developers.
However, as they are being introduced as "new", my question is: "how do we
define logical assertions using RDF/RDF Schemas"? Or, put in more detail, is
there a way of creating a Schema or using current RDF attributes to
competently describe new logical assertions?
For example:-

 <if rdf:about="#list">
   <w3c:member "id=statement"
      about="http://www.w3.org/"><var ref="#x">
   </w3c:member>
   <then><implies rdf:value="#statement" /></then>
 </if>

Has the new elements "if" and "then". "If" and "then" could be new varieties
of cabbage for all a processor knows, so they need a namespace definition
that points to a schema:-

 <if rdf:about="#list" xmlns="http://logicnamespace.org/">
   <w3c:member "id=statement"
      about="http://www.w3.org/"><var ref="#x">
   </w3c:member>
   <then><implies rdf:value="#statement" /></then>
 </if>

But what kind of Schema would you use for asserting the listed logical
elements? Let's take <not/> as an example. Not is often used in the form of
not(X) to denote that X isn't true. In that case the prose definition for
this would be:-

  <rdf:RDF
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" >
  <rdf:description rdf:ID="not">
    <rdf:type rdf:resource="http://www.w3.org/TR/REC-rdf-syntax#Property"/>
    <rdfs:label>not</rdfs:label>
    <rdfs:comment>Denotes that the content of this element is not true: i.e.
false (a boolean value of 0).</rdfs:comment>
</rdf:description>

How do we use RDF/RDF Schema to automatically and mechanically assert this
most basic of RDF Logic functions? Has this already been sorted out years
ago, or is it something waiting to be done?
Hoping someone can enlighten me here, I'm probably well behind the times on
this one...(apologies if so).

Kindest Regards,
Sean B. Palmer
http://xhtml.waptechinfo.com/swr/
http://www.w3.org/WAI/[ERT/GL/PF]
"Perhaps, but let's not get bogged down in semantics."
   - Homer J. Simpson, BABF07.

Received on Tuesday, 28 November 2000 12:02:40 UTC