Thanks for the tip. I would prefer making one rule for all magic properties.
Would it be a good idea to create a specialization of spin:MagicProperties,
e.g., my:InferredMagicProperty for properties that I would like to have behave
in this way, and check for instances of it in the where clause? e.g.:
CONSTRUCT {
?a ?inferredMagicProperty ?b .
}
WHERE {
?inferredMagicProperty a my:InferredMagicProperty.
?a ? inferredMagicProperty ?b .
}
On Dec 18, 2009, at 11:07 PM, Holger Knublauch wrote:
> Hi Arthur,
>
> by default, magic properties are not available as "inferred" triples while
> browsing a model in TopBraid. They are computed on demand in SPARQL queries
> only. However, you can add a SPIN rule such as
>
> CONSTRUCT {
> ?a my:magicProperty ?b .
> }
> WHERE {
> ?a my:magicProperty ?b .
> }
>
> to make them explicit. This way you avoid duplicating the definitions of the
> body. I am sure this could be generalized into a single rule for all magic
> properties, at least with a bit of Java coding (e.g. write a meta magic
> property that runs all other magic properties). If that's of interest I can
> add something to 3.3
>
> Another option is to implement a Jena Graph that does this automatically on
> findSPO calls. This would be an interesting exercise, although it won't help
> you short term.
>
> Regards
> Holger
>
>
> On Dec 18, 2009, at 4:37 PM, Arthur Keen wrote:
>
>> I am looking into SPIN to compute derived quantities in an analytical model.
>> I studied the blog on magic properties, and tried it out the grandParent
>> magic property on kennedys.owl and it works as promised. I understand that
>> these magic properties are intended to extend SPARQL, however, since they
>> are properties, could they be extended to be used for late binding
>> properties on objects, so that the values could be computed on access? I
>> tried unsuccessfully to do this, and concluded that were not meant to be
>> used in this way and that I should use spin rules for computing derived
>> properties on objects. Is that correct?
>>
>> Arthur
>>
>> --
>>
>> You received this message because you are subscribed to the Google Groups
>> "TopBraid Composer Users" group.
>> To post to this group, send email to
>> [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/topbraid-composer-users?hl=en.
>>
>>
>
> --
>
> You received this message because you are subscribed to the Google Groups
> "TopBraid Composer Users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/topbraid-composer-users?hl=en.
>
>
--
You received this message because you are subscribed to the Google Groups
"TopBraid Composer Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/topbraid-composer-users?hl=en.