RE: LANG: syntactic version for imports (and other things)

Well now that I have slept on my flame I have a concrete suggestion.

MOTIVIATION

There is a desire to 

1. indicate that a set of class, property, and individual definitions
are part of an ontology using a natural scoping mechanism (even if
this is an extra-logical relationship),

2. provide a strictly syntactic explanation for imports (at least I
would like to see this), and

3. maintain the basic RDF striping XML syntax.

Note that RDF tools are going to need to make some slight changes
already (for example to support parsetype collection).

SUGGESTION

Define owl:ontology to be an extended alias for rdf:rdf.  An OWL
ontology would then look like

<owl:ontology about=""
              xmlns="#" 
              xmlns:rdf=...>
 <owl:imports about="" rdf:resource="uri1">
 ...
</owl:ontology>

The 'about' attribute (ignored by RDF) defines a name for the
ontology.  The standard cliche defaults to the document URL, 
but we could insert an explicit URI if desired.
I believe that well engineered ontologies will want to be associated
with a URN so that they are not tied to a physical location.

I'm still not clear on whether we want to introduce an ontology
resource into the RDF triple world.  We could always leave off the
'about=""' in the imports clause and get an existential triple like

_g001 owl:imports uri1

In either case, the expansion of the imports could then be made to
work in a natural way, but would require supporting multiple
owl:ontology expressions in one file.  E.g.

<owl:ontology about=""
              xmlns="#" 
              xmlns:rdf=...>
 ...
</owl:ontology>

<owl:ontology xml:Base="uri1"
              xmlns:ns11="uri11" ...
              xmlns:ns1i="uri1i" 
              about=""> 
 ... 
</owl:ontology>

- Mike

Michael K. Smith, Ph.D., P.E.
EDS - Austin Innovation Centre
98 San Jacinto, #500
Austin, TX  78701

* phone: +01-512-404-6683
* mailto:michael.smith@eds.com


-----Original Message-----
From: Smith, Michael K [mailto:michael.smith@eds.com]
Sent: Monday, September 16, 2002 5:12 PM
To: Jeff Heflin
Cc: Peter F. Patel-Schneider; www-webont-wg@w3.org
Subject: RE: LANG: syntactic version for imports (and other things)



Good point, Jeff.  What that means is that a syntactic explanation for
owl:imports would require that for all the recursively imported ontologies
we fully expand all names and delete all namespace and xml:base assertions.
It still works, just not elegantly or readably.  

Yet another reason to have a genuine OWL syntax, and not this odd hodgepodge
that struggles repeatedly to create scope while satisfying the
meta-syntactic constraints of a language without scope.  The advantages of
having OWL syntax that satisfies RDF striping seem significantly outweighed
by the difficulty of creating a clean and meaningful syntax.

We are putting up barriers to the adoption of OWL that are unnecessary.  The
vast majority of the web has not yet bought in to this technology.  Rather
than simplifying their adoption, we are struggling to prop up a few existing
RDF tools.

I had thought that as long as we could translate to RDF triples, any surface
XML syntax would do.  If folks need to denormalize OWL to a striped syntax,
that's what XSLT is for.  Apparently we are in a DAML+OIL default position
where it is too late to discuss syntax (other than tag names), despite the
fact that there is no OWL syntax document. 

- Mike

-----Original Message-----
From: Jeff Heflin [mailto:heflin@cse.lehigh.edu]
Sent: Monday, September 16, 2002 9:10 AM
To: Smith, Michael K
Cc: Peter F. Patel-Schneider; www-webont-wg@w3.org
Subject: Re: LANG: syntactic version for imports (and other things)


Hi Mike,

There's a critical problem with this suggestion. The content of
ontologies do not actually occur inbetween the <owl:ontology> tags.
Therefore, your namespaces won't work correctly.  Note, I'd prefer it if
OWL actually had the <ontology> tags surround the classes and properties
defined in the ontology, but then we'd have to have to modify RDF's
syntax, which some in the group are loath to do.

Jeff


"Smith, Michael K" wrote:
> 
> Here is a suggestion, based on Peter's syntax, for the syntactic
> macro expansion of owl:imports using XML:Base.
> 
> Given
> 
> <rdf:rdf
>     xmlns     ="#" ...
>     owl:imports="uri1;...;uriN">
>  <owl:ontology about=""> ... </owl:ontology>
> </rdf:rdf>
> 
> Collect the transitive closure, (uri1...uriM), of the imports clauses.
> 
> Then return the original rdf:rdf tree with
> 
> 1. the owl:imports attribute deleted and,
> 2. for all uri in (uri1...uriM),
>    the correspondig owl:ontology component, augmented with
>    an XML:Base adjustment (must be first attribute) and
>    any namespace declarations on its parent rdf:rdf tag.
> 
> E.g.
> 
> <rdf:rdf
>     xmlns     ="#" ... >
>  <owl:ontology about=""> ... </owl:ontology>
>  <owl:ontology xml:Base="uri1"
>                xmlns:ns11="uri11" ...
>                xmlns:ns1i="uri1i"
>                about="">
>   ...
>  </owl:ontology>
>  ...
>  <owl:ontology xml:Base="uriM"
>                xmlns:nsM1="uriM1" ...
>                xmlns:nsMj="uriMj"
>                about="">
>   ...
>  </owl:ontology>
> 
> </rdf:rdf>
> 
> Null ontologies (for whatever reason) are ignored.
> 
> - Mike
> 
> Michael K. Smith, Ph.D., P.E.
> EDS - Austin Innovation Centre
> 98 San Jacinto, #500
> Austin, TX  78701
> 
> * phone: +01-512-404-6683
> * mailto:michael.smith@eds.com
> 
> -----Original Message-----
> From: Peter F. Patel-Schneider [mailto:pfps@research.bell-labs.com]
> Sent: Thursday, September 12, 2002 12:24 PM
> To: www-webont-wg@w3.org
> Subject: LANG: syntactic version for imports (and other things)
> 
> My suggestion would be that imports is an XML attribute on the enclosing
> tag of an ontology.
> 
> So an OWL ontology would look something like:
> 
> <rdf:RDF owl:imports="foo:bar">
>     ...
> </rdf:RDF>
> 
> where the document pointed at by foo:bar should contain an OWL ontology.
> (If it does not, then a null ontology is used.)
> 
> It would be nice to allow multiple imports, but this is not possible in
> XML, so the value would have to be a list of URLs.
> 
> Other things, like backward compatibility could be handled in the same
way.
> 
> peter

Received on Tuesday, 17 September 2002 11:08:25 UTC