W3C home > Mailing lists > Public > public-owl-wg@w3.org > November 2007

Re: ISSUE-65 (excess vocab): REPORTED: excessive duplication of vocabulary

From: Bijan Parsia <bparsia@cs.man.ac.uk>
Date: Tue, 27 Nov 2007 17:57:09 +0000
Message-Id: <D5DB9793-C3F0-4F72-9659-117629A4E409@cs.man.ac.uk>
Cc: "OWL Working Group WG <public-owl-wg@w3.org>" <public-owl-wg@w3.org>
To: Ian Horrocks <ian.horrocks@comlab.ox.ac.uk>

On 27 Nov 2007, at 17:41, Ian Horrocks wrote:

> I believe that it was an error (compounded by me) to get involved  
> in a discussion of modelling style, and suggest that we stop now!

Well, there was a request for use cases. Doesn't seem so far out of  

> What we *should* be discussing is how we are going to resolve the  
> issue of "excessive duplication of vocabulary". The suggestion from  
> Boris [1] is that in OWL DL we *either* (1) type the usage of the  
> vocabulary *or* (2) require a strict separation of the vocabulary  
> (which allows for some reduction in vocabulary). If we opt for (2),  
> then the requirement can of course be relaxed in OWL Full -- indeed  
> this is how it currently works in OWL 1.0.

There is a middle ground, which would say to require typing of usage  
only in so far as required to disambiguate. Hmm. Is this really  
workable? I.e., if one used a property only as a dataproperty or only  
as an object property, i.e., one *did* keep the vocabulary separated,  
then one could use untyped constructs. But if one *did* use it both  
ways, one would have to switch.

Oh, maybe there's an even easier way. *Tag* the vocabulary in its use.

Instead of:
	ObjectSomeValuesFrom(p, C)

	SomeValuesFrom(object(p), C)

Ugh, to be fully typed would need:

	SomeValuesFrom(object(p), class(C))

Not an improvement. I don't know if it's any better to shove the type  
into an (optional) argument, e.g.,:

	SomeValuesFrom(object, p, C)
	SomeValuesFrom(data, p, C)

In which case, the fully decorated version would be:
	SomeValuesFrom(op(p), class(C))
	SomeValuesFrom(dp(p), datatype(C))

And the current syntax would be:
	ObjectSomeValuesFrom(p, C)
	DataSomeValuesFrom(p, C)

If the type tag were optional (which would be the main point of this  
shift), then you could write:

	SomeValuesFrom(p, C)

And have some disambiguation rules. If it were not possible to  
disambiguate according to those rules it would either be an error or  
in full or what have you.

Such implicit typing would complicate parsing, alas, in the rather  
standard way. But I suppose a parser could reject a non-fully typed  

Just some thoughts.

Received on Tuesday, 27 November 2007 17:55:34 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:42:00 UTC