Le 08/03/2012 16:01, Sarven Capadisli a écrit :
Hi Antoine,
Thank you for that excellent break down. I have a much better
understanding now. Of course, only on the surface :) I didn't know about
punning.
I've decided to go ahead with the switch from skos:exactMatch to
owl:sameAs in my case for two reasons:
* My resource can easily be seen as the same thing as the other
resource. That is, the descriptions can be merged and it still makes
sense, and nothing jumps out at me that suggests otherwise.
* OWL DL is too far down for me to fear the complications. I think the
benefits here outweigh the possible complications, if any. Fingers
crossed. :)
Would you mind elaborating on why you think skos:Concept is not
necessarily a class?
skos:Concept itself is a class, but instances of skos:Concept do not
need be classes. This is explicit in the SKOS recommendation, at Section
3.5.1 (http://www.w3.org/TR/2009/REC-skos-reference-20090818/#L896):
"Other than the assertion that skos:Concept is an instance of owl:Class,
this specification does not make any additional statement about the
formal relationship between the class of SKOS concepts and the class of
OWL classes. The decision not to make any such statement has been made
to allow applications the freedom to explore different design patterns
for working with SKOS in combination with OWL."
Best,
AZ
Thanks again! I'm marking your mail for future reference.
-Sarven
On 12-03-07 03:00 AM, Antoine Zimmermann wrote:
If you care about what the OWL spec says and don't want to write
something invalid (or inconsistent), you first have to distinguish
between OWL DL and OWL Full.
In OWL Full, everything is an instance of owl:Thing. Classes,
Properties, Literals, Datatypes, etc are instances of owl:Thing. Even
owl:Thing itself is an instance of owl:Thing. That is to say that
owl:Thing is equivalent to rdfs:Resource. So, owl:sameAs can be used for
anything.
Which does not mean that it should!
In OWL DL, there are restrictions but since OWL 2 is standard, it's been
more complicated. owl:Thing does not contain classes. So, in principle,
owl:sameAs must not be used to relate an individual to a class. But OWL
2 introduced the idea of "punning" which says that you can use a *class
name* as an *individual name*. So, for example, this is legal in OWL 2
DL (Turtle syntax):
:c a owl:Class .
:x a :c .
:x owl:sameAs :c .
The fact is that :c on line 2 is a class, while :c on line 3 is an
individual. Morever, :c on line 2 and :c on line 3 have absolutely no
semantic relationship. They simply have the same name.
But again, it's not because it's allowed that it is necessarily good.
Now, if you really *need* to say that :a owl:sameAs :b, then by all
means do. But remember that this means that :a and :b *is* only one
individual. If you don't need to assert this identity, maybe it's better
using something like skos:exactMatch.
If your application does not treat owl:sameAs in any special way (e.g.,
you use an OWL reasoner, or you display the owl:sameAs link in a special
way) then you really don't need owl:sameAs. If you are doing something
special for the owl:sameAs predicate, you have to be conscious of the
implications.
In any case, there is no problem having a skos:Concept of type owl:Thing
in either OWL DL or OWL Full. A skos:Concept is not necessarily a class.
AZ
Le 07/03/2012 07:43, Sarven Capadisli a écrit :
Hi,
I'm sure this is talked somewhere, I'd love a pointer if you know any:
I often see resources of type owl:Class get paired with resources of
type owl:Thing using owl:sameAs. As far as I understand, this is
incorrect since domain and range of owl:sameAs should be owl:Thing.
I'm tempted to change my resource that is a skos:Concept
skos:exactMatch'ed with a resource of type owl:Thing, and use
owl:sameAs. Sort of like "everyone else is doing it, it should be okay",
and "don't need to fear the thought police".
However, I don't wish to do that with a clear conscience, hence, I'd
appreciate it if anyone can shed some light here for me and help me
understand to make an informed decision based on reason (no pun
intended).
Related to this, I was wondering whether it makes sense to claim a
resource to be of type owl:Class as well as of type owl:Thing, where may
be appropriate, or one could get away with it e.g., a country. If this
is okay, I imagine it is okay to use owl:sameAs for the subject at hand
and point to yet another thing.
Thanks all.
-Sarven
--
Antoine Zimmermann
ISCOD / LSTI - Institut Henri Fayol
École Nationale Supérieure des Mines de Saint-Étienne
158 cours Fauriel
42023 Saint-Étienne Cedex 2
France
Tél:+33(0)4 77 42 83 36
Fax:+33(0)4 77 42 66 66
http://zimmer.aprilfoolsreview.com/