Re: Relationship Transfer using OWL

On Sun, Jul 24, 2011 at 12:49 PM, Michael Erickson
<erickson.michael@gmail.com> wrote:
> As a follow up,
>
> Given:
>
> WidgetFamily  a  owl:Class  .
> inFamily  a  owl:ObjectProperty  .
> Widget  a  owl:Class  .
>
> Family_1  a  WidgetFamily  .
> W1  a  Widget  .
> W1  inFamily  Family_1  .
> W2  a  Widget  .
> W2  inFamily  Family_1  .
>
> Family_1_Widget  a  owl:Class ;
>    owl:equivalentClass
>        [   a  owl:Restriction ;
>            owl:onProperty  inFamily ;
>            owl:hasValue  Family_1
>        ] .
>
>
> I believe the following two statements will be inferred:
>
> W1  a  Family_1_Widget  .
> W2  a  Family_1_Widget  .
>
> Is there a pattern to create an instance that represents all the
> members of Family_1_Widget, call it Family_1_Widgets (note the
> plural), such that it could be the object in a statement which
> included a transitive property that then targeted all of the
> individual members.  Meaning I want to assert the statement:
>
>  ProductInfo  describes  Family_1_Widgets  .  # Note plural !!
>
> And have the following two statements inferred:
>
>  ProductInfo  describes  W1  .
>  ProductInfo  describes  W2  .

Why not use the class?

 Family_1_Widget
    owl:subClassOf
        [   a  owl:Restriction ;
            owl:onProperty  [ owl:inverseOf describes]
            owl:hasValue  ProductInfo
        ] .

-Alan

Received on Tuesday, 9 August 2011 18:23:08 UTC