Hi Sebastian,
Thanks for letting us know how you are using/aiming to use Isis.

I must admit I don't think I completely grok what you are aiming to do, but
let me do my best.

Isis, as you know, currently builds its metamodel from pojos, and this
metamodel is built up using a registry of FacetFactory classes, all
combined together in the ProgrammingModel (the default being
org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5).  All
interactions through the UI are using this API, and most of the object
stores do also.

I think it would be fairly easy to reflect upon something other than pojos
- in your case RDF thingies - by providing a different ProgrammingModel
implementation with a different set of FacetFactories.

One limitation is that the metamodel is deemed to be immutable after
initialization.  So if you are inventing different RDF structures while the
app is running, then Isis wouldn't be able to pick this up.  (I have
thought of changing this actually, and providing a way to ask Isis to
rebuild its metamodel.  It occurred to me that that would be a useful
feature if using a tool such as JRebel.  However, I haven't done anything
on this).

So, I dunno if the above is useful, but it might direct your investigations
a little.  One other detail while I remember it: in the set of
FacetFactorys in ProgrammingModel, you need to ensure that there is at
least one that implements the
special PropertyOrCollectionIdentifyingFacetFactory interface.  These are
called first and - as their name suggests - are used to identify the
properties and collections on which all the other FacetFactorys then act.
 (There isn't an ActionIdentifyingFacetFactory because any public methods
that are not properties or collections are deemed to be actions).

HTH,
Dan
~~~~~~~~


On 24 May 2012 04:43, Sebastian Samaruga <[email protected]> wrote:

> Hi,
>
> I'm currently developing some kind of knowledge management application
> using RDF and such semantic web related technologies. I've found Isis
> and thought it will be great to use it as a a front end while
> developing and maybe I think it as a service layer given the REST
> functionality that is provided.
>
> The question is given that I have no previous knowledge of the object
> types and the properties I should handle because the schema is
> dynamic, I wonder if it will be worth doing try to develop some kind
> of Dynamic Object Model adapter layer over my model and to provide it
> to Isis so this model and its persistence leverages the benefits of
> using the framework. I also should handle context/interaction/actions
> which should be provided as operations but they are also modeled in an
> ontological fashion so I should adapt this too.
>
> I will continue with the examples and further investigating the
> documentation so I can realize if this usage of Isis is convenient,
> for me at least. Because I'm trying to develop a Knowledge Base with
> some process management and governance ingredients I'm actually
> needing some tool for minimal test and prototyping. Best,
> Sebastian.
>

Reply via email to