Re: LANG: need to CLOSE Issue 5.6 Imports as magic syntax

Peter,

I think something like this would be an acceptable solution. It's very
similar to what Mike has proposed, and I think I can live with the basic
idea. One particularly nice feature of defining it in terms of the
abstract syntax is that the triples that we don't want (such as A saying
B imports C) don't have meaning in the syntax and thus can't affect
anything. By specifying the semantics in terms of the closure, we also
don't have to worry about have sequences of importing documents,
inferences of new imports statements, importing more documents, etc.

We have to make sure we can define imports for other documents as well.
How would you (and anyone else who thinks imports is important) feel
about the following wording:

1/ OWL abstract syntax documents can include Imports(<URI>) directives.

2/ Logical directives are defined as those directives which contribute
to the model theoretic semantics. In the current version of OWL, only
Imports, Annotation, and versioning directives are not logical
directives.

2/ The imports set of an OWL abstract syntax document is the union of
the arguments of its Imports directives and the imports sets of any
documents found at the URIs given by these arguments.

3/ The imports closure of an OWL abstract syntax document with logical
directives D is defined as the set of directives D unioned with the
logical directives of the documents, if any, found at all of the URIs in
the imports set of the document.

4/ An OWL intepretation of an OWL abstract syntax document is defined as
an
OWL interpretation of its imports closure.

5/ An OWL ontology entails an OWL axiom if all interpretations of the
ontology are OWL interpretations of the axiom.  

Note, I think talking in terms of import sets is more elegant than
saying "if a URI has not been imported yet." I also introduce the
terminology "logical directive" to keep from having to say that
directives are removed. Here I've assumed that all that matters to an
interpretation, is the logical directivies. Thus I do not keep the
imports or versioning directives of a document in the imports closure.
If people feel strongly that they should be there, then I am flexible on
this.

Jeff

"Peter F. Patel-Schneider" wrote:
> 
> From: Jeff Heflin <heflin@cse.lehigh.edu>
> Subject: Re: LANG: need to CLOSE Issue 5.6 Imports as magic syntax
> Date: Wed, 30 Oct 2002 18:05:32 -0500
> 
> > Hi Peter,
> >
> > Thanks for the suggestion. I have some comments below:
> >
> > "Peter F. Patel-Schneider" wrote:
> > >
> > >
> > > I endorse Jeff's proposal, with the following changes.  I'll start out with
> > > the abstract syntax, as it is much easier to see what is going on here:
> > >
> > > 1/ OWL abstract syntax ontologies can include Imports(<URI>) directives.
> > >
> > > 2/ The closure of an OWL abstract syntax ontology is obtained by taking its
> > >    directives and replacing any Imports directives by the directives of the
> > >    OWL ontology found at the URI that is the argument of the Imports
> > >    directives, unless the URI has already been so used in which case the
> > >    Imports directive is simply removed.  This is done until there are no
> > >    Imports directives remaining.
> >
> > Since your definition explicitly includes "OWL ontology found at the URI
> > that is the argument," we have to be explicit about the meaning of a URI
> > that cannot be dereferenced. What would you suggest here?  I'm hesitant
> > to simply say such expressions are meaningless. For example, it seems
> > dangerous to say that if I commit to an ontology, but its server goes
> > down, anybody is free to assume that there are no addtional consequences
> > of my statements, even though there may be vital contract conditions or
> > privacy information, etc. contained within the unavailable ontology.
> 
> My suggestion would be to change to
> 
>  2/ The closure of an OWL abstract syntax ontology is obtained by taking its
>     directives and replacing any Imports directives by the directives of
>     the OWL ontology, IF ANY,
>     found at the URI that is the argument of the Imports
>     directives, unless the URI has already been so used in which case the
>     Imports directive is simply removed.  This is done until there are no
>     Imports directives remaining.
> 
> This, I believe, neatly sidesteps the issue.  If dereferencing the URI (on
> the LHS) gets a document, then all is well.  If dereferencing the URI does
> not result in an error, then an application can do whatever it can do to
> determine if the problem is permanent, in which case the application can
> still proclaim completeness.  If an application cannot so determine, then
> it can still proceed, but could not claim completeness.
> 
> The situation is, of course, different on the RHS, but I do expect much
> fewer Imports in conclusions.
> 
> > >    2a/ Other kinds of annotations are simply removed.
> >
> > What do you mean by "other kinds of annotations" here?
> 
> I'm leaving the door open for other stuff, like version information.
> 
> > > 3/ An OWL intepretation of an OWL abstract syntax ontology is defined as an
> > >    OWL interpretation of its closure.
> >
> > Assuming we work the bugs out of 2, I could live with this (I still
> > prefer soemthing strictly based on entailment).
> 
> Well this is as close as you are going to get, I think.  How else could you
> do it?
> 
> > > 4/ An OWL ontology entails an OWL axiom if all interpretations of the
> > >    ontology are OWL interpretations of the axiom.  One OWL ontology entails
> > >    another if all interpretations of the first ontology are interpretations
> > >    of the second.
> >
> > Do we need this last bit here (one OWL ontology entails another)? It
> > seems to be what leads to the problem in your example below.
> 
> Well, it is not completely necessary to have an ontology on the RHS, I guess.
> The issue of syntax still arises.
> 
> > > Note that this does not *require* an OWL agent to actually construct the
> > > closure to compute entailment.  The OWL agent could do whatever it wanted,
> > > as long as the correct result was obtained.
> > >
> > > I have a modification of the semantics document that incorporates these
> > > (minor) changes to Imports for the abstract syntax and its direct semantics.
> > >
> > > Unfortunately, there are problems when the RDF syntax is considered.
> > >
> > > 1/ What is the syntax for imports (and other annotations)?
> > >
> > > 2/ If the syntax results in n-triples, then these n-triples will interfere
> > >    with entailment.
> > >
> > >    For example, does the OWL ontology
> > >
> > >    http://foo.ex/bar
> > >         <http://foo.ex/bar#John> <http://foo.ex/bar#loves> <http://foo.ex/bar#Mary> .
> > >
> > >    entail
> > >
> > >    http://foo.ex/baz
> > >         <http://foo.ex/baz#> [owl:imports] "http://foo.ex/bar" .
> > >
> > >    This is why I suggested that imports be made an attribute of the enclosing
> > >    rdf:rdf (or other) element.
> > >
> > > peter
> 
> peter

Received on Friday, 1 November 2002 10:47:24 UTC