Mike,
I've completed a set of changes necessary to support app-cards being able to
dynamically generate contexts. But I designed a solution that supports more
than just that need. The general notion of a context having a pointer to a
multi-purpose "control" context (e.g. to contain template data for new context
instances, to provide a common access control policy for "instance" contexts,
to provide schema mapping rules (used by all "instance" contexts) and other
purposes) is put forward. Here is a summary of the changes:
Higgins Data Model Changes
* Added a h:control attribute to h:Context class here. See [1, 2].
Persona Data Model Changes
* The PDM assumes that the above-mentioned HDM h:control link points to an
instance of a TemplateContext (new class).
* You can see the h:control displayed here [3]
* Entirely new vocabulary: template.owl [6]. This is the heart of the change.
TemplateContexts hold several kinds of "control" information about a "regular"
context. (i) They can be used (a) in RDF N3 format as the value of an AppCard's
"app-card:template" attribute (see [7]). As such they contain everything needed
to dynamically generate a context (e.g. an AppData Context) (ii) They can hold
AttributeMaps --in other words what we were calling a MappingContext is really
just a degenerate/subset of a TemplateContext (iii) They can can be the target
of the h:control attribute and as such define access control policies (albeit
super-simple ones!) and more control-related info described below.
* To get a sense of what's in a TemplateContext see [8].
* For a concrete example of a TemplateContext see [11].
Related changes:
* A new vocabulary (template.owl) is imported into persona.owl as mentioned
here [4]
* I worked with the Eclipse webmaster and now we have "Most recently published"
versions of our vocabularies (as shown here [5]). The SVN versions are still
the only truly up-to-date versions, but at least we are able to publish our
vocabularies to the website again
* It was convenient to make a small alteration to app-data.owl [9]: The
AppDataContext has an app-data:appData attribute that points to an instance of
AppData (whereas before all of the AppData attributes were directly attached to
the context). I updated the app-data example here [10] to reflect this change
--Paul
[1] http://wiki.eclipse.org/Higgins_Data_Model_2.0#Context
[2] http://wiki.eclipse.org/Higgins_Data_Model_2.0#Complex-valued_Attributes
[3] http://wiki.eclipse.org/Persona_Data_Model_2.0#UML_Overview
[4]
http://wiki.eclipse.org/Persona_Data_Model_2.0#Vocabularies_Imported_by_persona.owl
[5] http://wiki.eclipse.org/Persona_Data_Model_2.0#Higgins-Defined
[6] http://wiki.eclipse.org/Persona_Data_Model_2.0#template.owl
[7] http://wiki.eclipse.org/Persona_Data_Model_2.0#AppCard
[8] http://wiki.eclipse.org/Persona_Data_Model_2.0#TemplateContext
[9] http://wiki.eclipse.org/Persona_Data_Model_2.0#app-data.owl
[10] http://wiki.eclipse.org/Persona_Data_Model_2.0#AppData_2
[11] http://wiki.eclipse.org/Persona_Data_Model_2.0#Example
_______________________________________________
higgins-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/higgins-dev