Re: rdfs:class versus owl:class in SOSA-Core

Correct me if I'm wrong here:


:myClass a owl:Class, rdfs:Class

is the same as

:myClass a owl:Class

if you are using OWL reasoning.

If you are using RDFS reasoning (and tools like RDF4J support this) - then
these statements are not the same - and only the first one helps you with
any RDFS reasoning.

So why cant we just use the first form?

The principle would be that the "core" would not _require_ OWL reasoning to
provide a RDFS model. It doenst mean we don't model in OWL, just that we
take on the responsibility of materialising OWL entailments sufficient to
allow any RDFS entailments. (Thats what I mean about a "contract" with the
user - being explicit about what entailments are theer responsibility


Note that is we state:

:myClass a rdfs:Class

and say:
:myClass owl:equivalentClass eg:yourClass

then if you use OWL reasoning you get

:myClass a owl:Class, rdfs:Class

because
owl:equivalentClass rdfs:domain owl:Class
owl:equivalentClass rdfs:range owl:Class

Therefore, if you don't explicitly state its an owl:Class you can still do
OWL reasoning and you have lost nothing - but if you don't explicity state
its and RDFS class then you wont get the full RDFS expressible semantics
 without OWL reasoning.

statements such as owl:inverseOf are just documentation for RDFS
interpretations, and perhaps "do no harm"?

am I missing something here?

note that we can then have sosa-owl-dl  and other OWL flavours as vertical
modules that require OWL reasoning to be fully understood.

Rob Atkinson




On Wed, 9 Nov 2016 at 10:01 Krzysztof Janowicz <jano@geog.ucsb.edu> wrote:

> Hi,
>
> Sorry for being so picky about this during our meeting but I do not want
> us to take decisions that have consequences that we can not yet foresee.
>
> To the best of my knowledge (and please correct me if I am wrong):
>
> Under the semantics of OWL1, rdfs:class and owl:class are only equivalent
> for OWL-Full. For OWL-DL (and OWL-Lite) owl:class is a subclass of
> rdfs:class.
>
> This means that every valid document in OWL will be a valid document in
> RDFS, however *not* every rdfs:class is an owl:class. I do not want us to
> end up in OWL-Full because of this.
>
> For OWL2, I found this: 'owl:Class rdfs:subClassOf rdfs:Class . " (
> https://www.w3.org/TR/owl2-rdf-based-semantics/). Things may be more
> complicated here due to OWL2 punning and they may well turn out to be
> equivalent, I will check this later.
>
> If we decide to restrict ourself to only using RDFS for SOSA-core, and I
> am not in favor of this, then we may have to go with rdfs:class. However,
> we have not yet taken this decision and have also not discussed which
> axioms and language to use for SSN. As Sosa-core and SSN will be aligned,
> this may have more consequences that we should consider. It also seems like
> many of us are in favor of using inverseOf, so we would be using OWL (and
> its formal semantics) anyway. Note that this does not do any harm to an
> RDFS-only tool/user as for those the inverseOf axiom will simply have no
> formal semantics. Still all other triples that use both relations will
> still be just fine.
>
> Given the subclasssing, I do not see any problems using owl:class, but we
> may accidentally end up in OWL-full or with being incompatible to the
> standards if we opt for rdfs:class. Again, I am happy to be corrected. At
> least, I do not see harm in simply using owl:class.
>
> Finally, and from very pragmatic point of view: ontologies that are under
> very heavy use such as the DBpedia ontology simply use owl:class and I have
> not yet seen any issues or complaints about that. See, for example,
> http://dbpedia.org/ontology/City "dbo:City    rdf:type    owl:Class ."
> The same is true for the goodrelations ontology and so forth (but I admit
> that this is due to the more complex axiomatization they use).
>
> I hope this will start a productive discussion.
>
> Thanks for reading,
> Krzysztof
>
>
>

Received on Tuesday, 8 November 2016 23:48:03 UTC