Where did these syntax constraints come from?

From: Dan Connolly (connolly@w3.org)
Date: 01/04/01


Er... where did all this syntax stuff in

	DAML+OIL reference description
	http://www.daml.org/2000/12/reference.html#Header
	Wed, 03 Jan 2001 18:45:23 GMT

come from? DAML+OIL syntax is just RDF syntax, no? Our
spec just specifies the semantics of some terms, no?
i.e. we're just specifying what inferences we license
based on our terms (and our understanding of the
RDF and RDF terms) no?


e.g.

	A DAML+OIL ontology consists of a header, followed by zero or
	more class elements, property elements, axioms and instances.

When did we decide to limit ontologies to one <Ontology> element
at the top?

When did we decide to limit the contents of the Class element
ala

	"A Class element [...] contains

     	zero or more subClassOf elements
	...
	"
???

DAML syntax is just RDF syntax. We define the *semantics* of
some terms, but we don't constrain the syntax at all.
That's my understanding.

These are perfectly good DAML+ONT ontologies, no?

########
	<!-- an empty ontology is just fine, no? -->
	<rdf:RDF
  	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	/>
########
	<rdf:RDF
  	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:fruit="http://example.org/2001/fruit#">

	<!-- we can use arbitrary RDF classes for typedNode element names, no?
-->
	<fruit:Bannana>
		<!-- and arbitrary RDF property names for property elements, no? -->
	  <fruit:size>6"</fruit:size>
	</fruit:Bannana>

	</rdf:RDF>
########
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:daml="http://www.daml.org/2000/12/daml+oil#"
  xmlns:fruit="http://example.org/2001/fruit#"
	>

	<rdfs:TransitiveProperty ID="ex3">
		<!-- even RDF/DAML properties can have arbitrary claims
		made about them; claims using terms we don't define, no?
		-->
	  <fruit:flavor>yummy</fruit>
	</rdfs:TransitiveProperty>

	<rdf:Description ID="Cups">
		<!-- this is another way to say that something is
		a class, no? -->
	  <rdf:Type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
	</rdf:Description>
</rdf:RDF>
########

If we actually want to specify syntax, I think the way to do it
is with an XML Schema (this is how I think we should integrate
concrete types, too; sorry my proposal on that is so late.)

	RDF Syntax: An XML Schema Approach 
	in progress Aug 2000
	http://www.w3.org/2000/07/DAML-0-5-syntax


btw... Something I noticed while reading:
the schema ($Id: daml+oil.daml,v 1.2 2001/01/02 19:15:55 mdean Exp $)
has
	<rdfs:Class rdf:ID="Thing">
but later...
	<subPropertyOf resource="#equivalentTo"/>

i.e. subPropertyOf is short for
	http://www.daml.org/2000/12/daml+oil#subPropertyOf
but rdfs:Class is short for
	http://www.w3.org/2000/01/rdf-schema#Class

Any particular reason not to be more consistent?
i.e. use rdfs: for all the things that are in RDFS?

-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
office: tel:+1-913-491-0501
pager: mailto:connolly.pager@w3.org
  (put return phone number in from/subject)


This archive was generated by hypermail 2.1.4 : 04/02/02 EST