I'm trying a few things out and I'm puzzled by following behaviour.

I have
1 class :City with two subclasses :Actual_City, Historic_City.

On :City i have two spin rules

# Infer actual city
CONSTRUCT {
    ?city a :Actual_City .
}
WHERE {
    ?city a :City .
    ?city dct:temporal ?Period .
    OPTIONAL {
        ?Period :endDate ?enddate .
    } .
    FILTER (!bound(?enddate)) .
}

and a similar one for infering a :Historic_City
(Trying to 'templatize' those is left for another exercise.)

Now running the spin inference and the city instances show up in the
correct subclass.

Now on the subclasses I add some spin constraints.
e.g. on :Actual_City

ASK WHERE {
     ?city dct:temporal ?period .
    ?period :endDate ?enddate .
}

This constraint doesn't work.
I need to add the line
 ?city a :Actual_City .

ASK WHERE {
    ?city a :Actual_City .
    ?city dct:temporal ?period .
    ?period :endDate ?enddate .
}

to get it up,
which seems a little bit odd since one is working in a OO oriented
way
and the constraint is set on the class itself.

I suppose the previous inference done, which has not been persisted,
is not taken into account.


--~--~---------~--~----~------------~-------~--~----~
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