novice question

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

novice question

Hayden Wimmer
to all:

say i have 2 classes A and B
i have a property X

i want to express A X B

so, ClassA doesSomePropertyWith ClassB

so, all instances of classA doesSomePropertyWith all instances of ClassB

i am fine with expressing this as a SQRL rule...i cannot figure out how to do this in protoge/OWL or in SWRL.

i can easily do this task if i do this on the instance level.

hayden wimmer

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: novice question

Thomas Russ

On Feb 4, 2011, at 7:28 AM, Hayden Wimmer wrote:

> to all:
>
> say i have 2 classes A and B
> i have a property X
>
> i want to express A X B
>
> so, ClassA doesSomePropertyWith ClassB

It isn't completely clear what you mean with this at the class level.  I will assume that the next sentence is a clarification.

> so, all instances of classA doesSomePropertyWith all instances of ClassB

So with A, B and X is it correct that what you want to say, in logic, would be that you want the cross product of the individuals in A and B related by X.

  Forall i of type A
  Forall j of type B
         i X j

There isn't any standard description logic form that says this.  But by coincidence I just recently recommended a paper that describes this:

   http://knoesis.wright.edu/faculty/pascal/resources/publications/dl08-mice.pdf

It would be possible to write this sort of rule in a first order logic reasoner, but any rule that involves a cross product has the potential to be rather inefficient.

> i am fine with expressing this as a SQRL rule...i cannot figure out how to do this in protoge/OWL or in SWRL.

As a SWRL rule, it should be fairly straightforward to write:

  A(?x) ^ B(?y) -> X(?x, ?y)


_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03