This is a partial review of
http://www-db.research.bell-labs.com/user/pfps/owl/semantics/semantics-all.html
dated November 22
===
General Points
==============
Anchors
========
Please can there be anchors for each language construct in section 2, 3, 4
and 5.
N-triples
=========
I would strongly prefer that the mapping to RDF be expressed as a mapping
to the RDF abstract syntax (a graph) not to the non-preferred N-triples syntax.
Unnecessary verbiage
====================
I strongly dislike a WG document expressing the editors' opinions where
such opinions do not reflect an agreed consensus position of the WG.
Some detailed comments (very partial - I gave up after a bit)
======================
[[
Abstract
The OWL Web Ontology Language is being designed by the W3C Web Ontology
Working Group as a revision of the DAML+OIL web ontology language. This
description of OWL contains a high-level abstract syntax for both OWL and
OWL Lite, a subset of OWL. A model-theoretic semantics is given to provide
a formal meaning for OWL ontologies (or knowledge bases) written in the
abstract syntax. A model-theoretic semantics in the form of an extension to
the RDFS model theory is also given to provide a formal meaning for OWL
ontologies written as n-triples. A mapping from the abstract syntax to
n-triples is given and the two model theories are shown to have the same
consequences on OWL ontologies that can be written in the abstract syntax.
]]
I believe the first sentence is poor.
I do not think that a W3C recommendation should start by an acknowledgement
to its major input.
DAML+OIL is adequately credited elsewhere (e.g. section 1.1).
Suggest first sentence (cribbed from Mike Smith)
**
The Web Ontology Language (OWL) is provides a language that can be used to
describe the classes and relations between them that are inherent in Web
documents and applications.
**
"written as n-triples" - n-triples is not a recommended syntax for RDF. Suggest
"expressed as RDF graphs".
[[
1. Introduction
The W3C Web Ontology Working Group (WebOnt) is tasked with producing a web
ontology language extending the reach of XML, RDF, and RDF Schema. This
language, called OWL, is based on the DAML+OIL web ontology language
[DAML+OIL].
]]
The above paragraph should be deleted. Charter and history are irrelevant.
[[
This document contains several interrelated specifications of the several
styles of OWL. First, Section 2 contains a high-level, abstract syntax for
both OWL Lite, a subset of OWL [OWL Features], and a fuller style of using
OWL, sometimes called OWL/DL. This document, however, defines neither a
presentation syntax nor an exchange syntax for OWL. The official exchange
syntax for OWL is RDF/XML; a document defining how RDF is used to encode
OWL is the subject of the OWL Reference document [OWL Reference]. A mapping
from the abstract syntax to n-triples [RDF Tests] is, however, provided in
Section 4.
]]
Delete: sometimes, official, however.
Replace: "a document defining how RDF is used to encode OWL is the subject
of the OWL Reference document" With "this encodes OWL as described in the
OWL Reference".
Even if the mapping to the RDF graph continues to be expressed via
n-triples, in the introcution all references to N-triples should be
replaced by references to the RDF graph. RDF graph should be hyperlinked to
http://www.w3.org/TR/rdf-concepts/#dfn-rdf-graph.
[[
1.1. Differences from DAML+OIL
The language described in this document is very close to DAML+OIL. The
exchange syntax for OWL, as defined in the OWL Reference document [OWL
Reference], has only minor changes from DAML+OIL. Even the abstract syntax
can be viewed as an abstract syntax for DAML+OIL.
]]
Delete: "Even"
[[
There are also a number of minor differences between OWL and DAML+OIL,
including a number of changes to the names of the various constructs, as
mentioned in Appendix A of the OWL Reference Description [OWL Reference].
These naming changes may indicate potential changes to the preferred names
in the concrete syntax for OWL, but the intent of WebOnt is to maintain the
DAML+OIL names to the maximum extent reasonable.
]]
Delete last sentence.
Delete section 1.2
[[
2. Abstract Syntax
The description of OWL in this Section abstracts from concrete syntax and
thus facilitates access to and evaluation of the language. A high-level
syntax is used to make the language features easier to see. This particular
syntax has a frame-like style, where a collection of information about a
class or property is given in one large syntactic construct, instead of
being divided into a number of atomic chunks (as in most Description
Logics) or even being divided into even more triples (as in the exchange
syntax for OWL). The syntax used here is rather informal, even for an
abstract syntax - in general the arguments of a construct should be
considered to be unordered wherever the order would not affect the meaning
of the construct.
]]
Delete: "even more"
[[
This syntax does not have to worry about any of the problems induced by the
RDF triple model, including non-closed and ill-formed lists and
restrictions. No parsetype extensions are needed for readability. Namespace
issues can also be somewhat ignored; in the syntax here reserved words are
not given with any namespace qualification.
]]
Delete paragraph.
[[
The abstract syntax is specified here by means of a version of Extended
BNF. Terminals are not quoted; non-terminals are enclosed in pointy
brackets (<…>); and alternatives are either separated by vertical bars (|)
or are given in different productions. Elements that can occur at most once
are enclosed in square brackets ([…]); elements that can occur any number
of times (including zero) are enclosed in braces ({…}).
]]
Qu why not use a more standard EBNF formalism?
e.g.
http://www.cl.cam.ac.uk/~mgk25/iso-ebnf.html
(skipping ...)
[[
3. Direct Model-Theoretic Semantics
This model-theoretic semantics for OWL goes directly from ontologies in the
abstract syntax to a standard model theory. It is much simpler than the
semantics Section 5 for the exchanges syntax of OWL that is an extension of
the RDFS model theory.
]]
Delete: "much"
(skipping)
4. Mapping to RDF N-Triples
[[
The n-triples syntax used here is the one used in the RDF Model Theory [RDF
MT]. In this variant, QNames are allowed. To turn this syntax into the
standard one, just turn the QName into the obvious URI reference. The only
prefixes used in the transformation are rdf, rdfs, xsd, and owl, which
should be expanded into http://www.w3.org/1999/02/22-rdf-syntax-ns#,
http://www.w3.org/2000/01/rdf-schema#, http://www.w3.org/2001/XMLSchema#,
and http://www.w3.org/2002/07/owl#, respectively.
]]
This really is not n-triples. It is fair enough as a syntax, but rather
than pretending to be n-triples, which addresses character escaping etc. be
more informal on this aspect.
Also there is no "obvious" QName to URI reference mapping - it's a tag
issue I believe. You probably need to link to a defintion of the mapping
maybe in /TR/rdf-syntax-grammar
I am concerned about the inability to express
<a> <b> _:c .
<d> <e> _:c .
I am sure I have more, but this will do for now.
Jeremy