mapper()
rdfSubject.db.load('<the n3 file above>',format='n3')
m = Monster.ClassInstances().next()
print "First attack val: %s"% m.attack[0].value
print "Second attack "
m.attack[1]._ppo()
######################################
I think this returns everything as you expected.
BTW, in the current dev trunk I've added rdfsSubject as a smarter rdfSubject.
The code above works with rdfSubject but if you get to the point where you
subclass Attack and want to have monster.attack return a list of the correct subclasses
you can actually do that.
Also, for a Virtual world type app like your samples imply, rdfsSubject also
uses weakref's to make sure that there is only one instance of a given monster
defined in your running app.
More on these updates as I roll them into the "public" i.e. cheeseshop, release of rdfalchemy.
--
Phil