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

Rob,
I think your reasoning is correct, but I think the simpler form again of asserting only  :myClass a rdfs:Class  in sosacore is adequate to have the desired effect in the sosa-core scope.
In ssn, when sosa-core is imported,
instead of  :myClass owl:equivalentClass eg:yourClass
I am  expecting  to say instead
:myClass a owl:Class
But that is because I want all the sosa terms to be ssn terms in every possible way--- not somehow different things that need to be  declared to be equivalent.

--Kerry
From: Rob Atkinson [mailto:rob@metalinkage.com.au]
Sent: Wednesday, 9 November 2016 10:47 AM
To: Krzysztof Janowicz <jano@geog.ucsb.edu>; Joshua Lieberman <jlieberman@tumblingwalls.com>; Simon Cox <Simon.Cox@csiro.au>; Kerry Taylor <kerry.taylor@anu.edu.au>; Armin Haller <armin.haller@anu.edu.au>
Cc: SDW WG Public List <public-sdw-wg@w3.org>
Subject: 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<mailto: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 Wednesday, 9 November 2016 00:04:36 UTC