Re: SEMIS Bulletin
> ... when Tim Berners-Lee hit upon what is needed to make it scalable:
> global identification, a simplified stateless FTP that allows
> intermediaries, and some simple representation loosely based on SGML.
> I think the current efforts to "Webize" knowledge representation
> (and at least DL approaches) are worthwhile, and I wish the CG
> community would participate more and address global scalability.
1) Since "global identification" and "Web-izing" (TBL's expression)
simply means allowing URLs to be usable as category identifiers,
pretty much all "notations" are already "Web-ized" (even though many
of them have some lexical restrictions which require the use of escape
characters to enter these URLs), as both John Sowa and Tim Berners-Lee
noted in the past. Of course, few traditional inference engines access
the Web during parsing in order to import some ontology but that is not
difficult to add (if needed) and this not a language issue.
2) stateless network protocols: good, that's done (well, at least from
this community's viewpoint).
3) "some simple representation loosely based on SGML": now that,
compared to a Lisp-based notation, was a very unfortunate mistake which
still nowadays makes things difficult for information providers and
programmers (to use or extend HTML/XML) when the information gets slightly
complicated, e.g. for procedural elements or knowledge related elements
(quantifiers, contexts, sets, lambda-abstractions, 2nd-order formulas,
...). There is/was no problem for them in KIF but there is no easy way
to add them in RDF/XML (and the now abandonned attempts by the RDF authors
to add contexts and sets to RDF/XML were confusing, sometimes inconsistent,
and unscalable). A Lisp-based notation instead of HTML/XML would have
permitted uniformity and scalability, more readability and would have
permitted browsers to be less permissive (which in turns, would makes
things easier for us today). For comparison, below is document example
first in HTML then in a Lisp-based notation.
Philippe
<html>
<head><title>some title</title>
<script language="javascript">
<!--
function double (n) { return n*2; }
//-->
</script>
<body>
<h3 align="center">some section title</h3>
<p>(Sentence within parenthesis).</p>
<h4>some subsection title</h4>
The <b><i>double</i></b> of 4 is
<script language="javascript">
<!--
double(4);
//-->
</script>
<div id="someParagraphID">
Every man thinks that all animal are mortals.</div>
<representation language="KIF" object="someParagraphID"
content="(forall ((?m man))
(think ?m '(forall ((?a animal)) (mortal ?a))))">
<!-- "representation" is an invented tag; may be "meta" is better -->
<p>This paragraph is not intended to be part of the previous section.
</body></html>
$(
(title |some title) //'|' prefixes the text part of an element
(function double n (* n 2)
)
(h3 (align center) (title|some section title)
(p|\(sentence within parenthesis\).)
(h4 (title |some subsection title) |
The (b(i|double)) of 4 is (double 4))
(div (id someParagraphID) |
Every man thinks that all animals are mortals.)
(representation (language KIF) (object someParagraphID)
(content (forall ((?m man))
(think ?m '(forall ((?a animal)) (mortal ?a))))))
//"representation" is an invented tag; may be "meta" is better
)
(p|This paragraph is not intended to be part of the previous section.)
)$