Re: RDF, RDFS, and OWL language constructs

Hi Hans--

Sorry for delay in responding;  some deadlines reared their ugly heads. 
  About your questions:

Hans Teijgeler wrote:
> Hi Frank!
>  
> Thanks for the help!
>  
> It seems to me that we have a divide between two Semantic Webs:
> 
>     * RDF + RDFS + OWL Full (the cumulation I mentioned: "OWL Full
>       contains all the OWL language constructs and provides free,
>       unconstrained use of RDF constructs.")
>     * OWL DL and its subset OWL Lite
> 
> There is a lot in OWL DL that I like, but using OWL DL means de facto 
> throwing away RDF-RDFS (right?), and that seems not so nice.

I understand the concern, but I don't think the situation is as stark as 
all that.  In the first place, I'd put RDF in a separate category from 
the other languages.  One reason is that all the languages are RDF. 
That is, both RDFS and the OWL dialects are all descriptions of 
resources (that happen to represent classes, properties, and so on) in 
RDF.

Also, instances that correspond to the various schema/ontology languages 
are going to be described in RDF as well.  If you look at the instance 
examples in the OWL documents, for example, they look like plain RDF; 
it's just that the language that describes the classes and properties 
happens to be OWL, rather than RDFS.  I can imagine lots of situations 
in which RDF instance data (data that doesn't *define* classes and 
properties, but just references classes and properties defined in RDFS 
schemas) could be "repurposed" to be used with OWL definitions of those 
same classes and properties (this wouldn't be true for all RDF instance 
data though).

The reason I think lots of instance data could work this way is this: 
While RDF per se (and RDFS) has practically no "type checking", OWL DL 
does.  But lots of applications (and languages) are organized around 
many of the sorts of constraints that OWL DL imposes (e.g., OO 
programming languages and database systems).  For example, most 
languages insist, as does OWL DL, that classes and instances be 
carefully separated.  Similarly, most languages require separating 
properties that have literals as values from those that have object 
instances as values.  Lots of modeling disciplines involve these sorts 
of assumptions as well.  Hence, I think lots of data (and schemas) will 
wind up being organized with such constraints, even when they aren't 
explicitly OWL.

However, it's natural that as you go from a less restrictive language 
(RDF, RDFS) to a more restrictive language (OWL DL), especially if 
you're retrofitting (you have a lot of RDF data which was formerly 
defined according to RDFS and you're trying to redo the schema in OWL) 
you may run into some problems.

>  
> It appears to me that this divide now forces us to make a very important 
> choice between the two, where I had expected a smooth upgrade path RDF > 
> RDFS > OWL Lite > OWL DL > OWL Full. Too logical (or naive), I presume.

The "upgrade path" you mention wasn't really intended to be an upgrade 
path in the sense you have in mind.  As I've noted, RDF itself has few 
if any rules.  OWL Lite and OWL DL impose some restrictions on how their 
ontologies are defined.  However, I expect that lots of specialized RDF 
data that people will construct will be that way too.  That is, for a 
given application it seems to me that those responsible will build 
schemas that may define not only restrictions such as those that occur 
in OWL DL, but may also include additional specialized schema vocabulary 
to define constraints not currently included even in any OWL vocabulary 
(some pre-OWL applications I'm aware of defined their own RDFS 
extensions, some of which now be replaced by OWL constraints).  They 
will construct RDF according to their specialized vocabulary, and expect 
RDF that they input and use to conform (and will presumably build 
parsers and validity checkers to insure conformance).  Merging that data 
with external data not necessarily constructed according to that 
vocabulary (assuming they have that requirement) will of course require 
them to weaken any requirements of strict conformance (or deal with it 
using more powerful reasoners).  That's not surprising.
>  
> Is there any way, e.g. a header, to tell the software whether you work 
> in DL or in Full?

I don't know that there's a header.  There are validity checkers that 
will tell you which OWL dialect your stuff conforms to, e.g., 
http://phoebus.cs.man.ac.uk:9999/OWL/Validator

>  
> Is there anything written on a migration path between the two in either 
> direction?

There's some material in the OWL documents that talks about migration 
(mostly it says that if you're starting with RDFS, your most obvious 
migration path is to OWL Full.)  There is also material there that 
provides guidelines on using RDF so it will not violate the OWL DL limits.

However, there's clearly some more work to be done on this issue.  You 
might be interested in tracking some of the discussion on such issues at 
the ESW Wiki, e.g., http://esw.w3.org/topic/OwlAndRdf.

Regards,

Frank

Received on Monday, 25 April 2005 14:25:50 UTC