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.


Reply via email to