- From: Danny Ayers <danny666@virgilio.it>
- Date: Thu, 15 Jul 2004 14:01:33 +0200
- To: Laurian Gridinoc <laurian@gmail.com>
- Cc: www-rdf-interest@w3.org, danny@dannyayers.com
Laurian Gridinoc wrote:
>On Thu, 15 Jul 2004 11:34:16 +0200, Danny Ayers <danny666@virgilio.it> wrote:
>
>
>>> [snip]
>>
>>If the other terms really are equivalent then you could use
>>owl:equivalentProperty, but then why bother creating a new term when you
>>could use an equivalent?
>>
>>
>
>"Property equivalence is not the same as property equality.
>Equivalent properties have the same "values" (i.e., the same property
>extension), but may have different intensional meaning (i.e., denote
>different concepts). Property equality should be expressed with the
>owl:sameAs construct. As this requires that properties are treated as
>individuals, such axioms are only allowed in OWL Full." [1]
>
>This is what I'm trying to avoid - OWL Full.
>
>
Then don't use owl:sameAs.
This doesn't prevent you from using an existing equivalent or
owl:equivalentProperty.
Look at some individuals:
{1}
m1 filsa:messageid "Message One"
m2 filsa:messageid "Message Two"
m3 filsa:messageid "Message Three"
if you said
{2}
new:messageId owl:equivalentProperty filsa:messageid
then you could infer -
{3}
m1 new:messageId "Message One"
m2 new:messageId "Message Two"
m3 new:messageId "Message Three"
btw, I suspect the actually aspect of owl:sameAs you'd be using in
practice is the above, the result of the entailment:
p1 rdf:type rdf:Property
p2 rdf:type rdf:Property
p1 owl:sameAs p2
=>
p1 owl:equivalentProperty p2
Anyhow, if there wasn't a one-to-one match between the sets of
individuals, then you could say:
{4}
new:messageId rdfs:subPropertyOf filsa:messageid
but then you couldn't infer {3} from {1}, although you could infer {1}
from {3}
you could swap it around, so new:messageId was the more general
property, but it depends on what the semantics actually are, what you're
trying to capture...
>I would prefer to stay with the most simple solution - RDF(S), worst
>case lightest OWL possible; but Josh Sled pointed that owl:sameAs
>applied to classes or properties is OWL Full.
>
>
Those are really conflicting requirements - if you want to stay within
OWL DL then you will need more qualification of the properties to which
you refer. The simplest you could possibly do would be to use
rdfs:subPropertyOf as above, or if you really want to assert equivalence
then use -
p1 rdfs:subPropertyOf p2
p2 rdfs:subPropertyOf p1
the combination expresses equivalence of the properties, and an OWL Full
reasoner could get {3} from {1} and vice versa.
>>The volatility issue is tricky - it's a common problem. OWL has
>>versioning capability terms that could be used to manage this, though
>>where individual terms may change independently OWL's per-schema
>>versioning isn't really granular enough. The craftiest solution I've
>>seen to this came recently from Alistair Miles and Chaals, using a
>>separate little ontology for each term.
>>
>>
>
>Indeed a nice solution, if you can control the schema; which is not
>the case when you mix vocabularies.
>
>
True, but you can still add a level of indirection:
foreign vocab :
their:messageId rdf:type rdf:Property
{local subschema} :
my:messageId owl:equivalentProperty their:messageId
local (namespaced that is used) schema
import {local subschema}
Cheers,
Danny.
--
Raw
http://dannyayers.com
Received on Thursday, 15 July 2004 08:07:13 UTC