Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Template vocabulary"
(→Example) |
(→Example) |
||
Line 72: | Line 72: | ||
template:profilePath | template:profilePath | ||
"/ads/preferences"^^xsd:anyURI ; | "/ads/preferences"^^xsd:anyURI ; | ||
+ | template:desires <http://www.eclipse.org/higgins/ontologies/2010/6/online-behavior#interest> ; | ||
template:provides <nytimes.com/schema/userAccountNumber> ; | template:provides <nytimes.com/schema/userAccountNumber> ; | ||
template:requires <http://www.eclipse.org/higgins/ontologies/2010/6/fp#ageRange> , | template:requires <http://www.eclipse.org/higgins/ontologies/2010/6/fp#ageRange> , | ||
<http://www.eclipse.org/higgins/ontologies/2010/6/fp#gender> , | <http://www.eclipse.org/higgins/ontologies/2010/6/fp#gender> , | ||
− | <http://www.eclipse.org/higgins/ontologies/2010/6/fp#postalCode | + | <http://www.eclipse.org/higgins/ontologies/2010/6/fp#postalCode> ; |
− | + | ||
template:scrapeFillCode | template:scrapeFillCode | ||
:JavaScript_1 . | :JavaScript_1 . |
Revision as of 10:14, 29 August 2011
{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}Vocabulary to describe a Template Context. Contains information necessary to dynamically instantiate regular contexts. Part of the Persona Data Model 2.0.
Files
- Most recently published
- SVN source: template.owl
UML Overview
Overview
Template contexts are used to instantiate both regular contexts and connector context pairs mentioned here: Persona Data Model 2.0. The AppTemplate subclass of TemplateContext (itself a subclass of ctxt:Context) is used to describe the former, and the ConnectorTemplate subclass of TemplateContext, the latter.
AppTemplate
An AppTemplate is a template for an app. An app is a PDS add-on. Apps run within a PDS-provided runtime environment. Apps have read (and potentially write) access to a specific set of attributes within the PDS. An AppTemplate is a TemplateContext subclass with a ContextPrototype instance that describes a context to be used to support an app.
- subClassOf TemplateContext
- 1..1 app App
App A prototype of a context instance that holds app-specific data (e.g. Person entity) if any
- subclass of ContextPrototype
- 1..1 appURI - value is a URI containing a portion of a web page to load into the portal. This webpage may contain lots of JavaScript and provide sophisticated viewing, editing, validating or other services to the user--hence the use of the "app" term.
- 1..1 description--human friendly text that describes this app/view/context
- 0..1 viewRoot (inherited) - value is a structure created using the View-builder vocabulary that describes how to dynamically construct a UI to view and/or edit the attributes of this context.
- 0..1 settingsViewRoot (inherited) - value is a structure created using the View-builder vocabulary that describes how to dynamically construct a UI to view and/or edit administrative settings related to the JavaScript app (if present)
The instantiated context of an AppTemplate TemplateContext is a place where the JavaScript of the app can persist new attributes if needed. Apps use an API that may update the values of attributes in other contexts.
ConnectorTemplate
A TemplateContext containing two ContextPrototypes instances that describe each connector context in a relationship:
- 0..N provided - values are the URIs of attributes in the relationship for which the Definer is authoritative
- 0..1 viewRoot - value is a structure created using the View-builder vocabulary that describes how to dynamically construct a UI to view and/or edit the attributes of this context.
- 0..1 settingsViewRoot - value is a structure created using the View-builder vocabulary that describes how to dynamically construct a UI to view and/or edit administrative settings related to the JavaScript app (if present)
The Participant instance has the following attributes:
- 0..1 templateRole - value is a default Role to assign to the new p:Person instance in the newly instantiated context
- 0..N provided - values are the URIs of attributes in the relationship for which the participant is authoritative
- 0..N providedOpt - values are the URIs of attributes in the relationship for which the participant is authoritative and may optionally decide to provide
- 0..1 viewRoot - value is a structure created using the View-builder vocabulary that describes how to dynamically construct a UI to view and/or edit the attributes of this context.
- 0..1 settingsViewRoot - value is a structure created using the View-builder vocabulary that describes how to dynamically construct a UI to view and/or edit administrative settings related to the JavaScript app (if present)
Example
Below is an example of a ConnectorTemplate. See (google-ads.n3 for full source):
Here is the ConnectorTemplate (Note: the image value is truncated):
<http://www.eclipse.org/higgins/ontologies/examples/google-ads> a owl:Ontology , template:ConnectorTemplate ; template:definer :Definer_1 ; template:image "30456034350840236980afbcc0ef"^^xsd:base64Binary ; template:imageType "GIF"^^xsd:string ; template:participant :Participant_1 ; owl:imports <http://www.w3.org/2004/02/skos/core> , <http://www.eclipse.org/higgins/ontology/2011/2/view-builder> , <http://www.eclipse.org/higgins/ontologies/2010/6/fp> , <http://www.eclipse.org/higgins/ontologies/2010/6/template> .
Here is the Participant (Note: the 'ViewRoot' and sub-objects have been omitted here for simplicity.):
:Participant_1 rdf:type template:Participant ; template:viewRoot :ViewRoot .
Here is the definer WebsiteFacade (Note: the actual code of the JavaScript has been omitted):
:Definer_1 rdf:type template:WebsiteFacade ; template:homePage "http://google.com"^^xsd:anyURI ; template:profilePath "/ads/preferences"^^xsd:anyURI ; template:desires <http://www.eclipse.org/higgins/ontologies/2010/6/online-behavior#interest> ; template:provides <nytimes.com/schema/userAccountNumber> ; template:requires <http://www.eclipse.org/higgins/ontologies/2010/6/fp#ageRange> , <http://www.eclipse.org/higgins/ontologies/2010/6/fp#gender> , <http://www.eclipse.org/higgins/ontologies/2010/6/fp#postalCode> ; template:scrapeFillCode :JavaScript_1 . :JavaScript_1 rdf:type app-data:JavaScript ; app-data:description "Google ad prefs scraper/filler"^^xsd:string ; app-data:version "1.0.0"^^xsd:string .
Classes
App
A prototype of a context instance that holds app-specific data (e.g. Person entity) if any
- subClassOf ContextPrototype
- 1..1 appURI
- 1..1 description
AppTemplate
An AppTemplate is a template for an app. An app is a PDS add-on. Apps run within a PDS-provided runtime environment. Apps have read (and potentially write) access to a specific set of attributes within the PDS. An AppTemplate is a TemplateContext subclass with a ContextPrototype instance that describes a context to be used to support an app.
- 1..1 app
Attribute
An attribute. Optionally from a specified authority/issuer.
- 1..1 attribute
- 0..N authority
Connector
A prototype of a Definer-or-Participant context instance. Abstract.
ConnectorTemplate
A TemplateContext containing two ContextPrototypes instances that describe each connector context in a relationship
- 1..1 definer
- 1..1 participant
ContextPrototype
Abstract class. A prototype of an Context instance. The attributes of the prototype are copied into a Context instance
- 0..1 viewRoot
Definer
A prototype of a context that is one side of a connector context pair. The Definer side is a context managed by the same party that created the TemplateContext--the party that defines the overall parameters of the connector relationship. In a person-to-business connector. Definer would typically be the business as it is the business that defines the relationship including the set of attributes that will go back and forth.
- subClassOf: Connector
Participant
A prototype of a context that is one side of a connector context pair. The Participant side is a context managed by the other party--not the party that created the TemplateContext that defines the overall parameters of the connector relationship. In a person-to-business connector. Participant would be the person (the PDS owner/user)
- subClassOf: Connector
- 0..1 overlayCode
TemplateContext
A TemplateContext is an abstract class for a context whose attributes act analogous to a "class" for regular context "instances".
- subclassOf ctxt:Context (see Context vocabulary)
WebsiteFacade
A sideA context that instead of being managed by an external party, is created and managed by local code (e.g. JavaScript running locally) acting as a proxy for the "real" issuer.
- subClassOf: SideA
- 0..1 scrapeFillCode
Attributes
app
AppContext ContextPrototype
- domain: AppTemplate
- value: App
appURI
App UI page
- domain: App
- value: xsd:anyURI
attribute
- domain Attribute
- value: rdf:Property
definer
Definer context within a pair of Participant/Definer connector contexts
- domain: Connector
- value: Definer
description
Human readable description of this app
- domain: App
- value: xsd:string
homePage
Home page of this site. E.g. http://google.com.
- domain: WebsiteFacade
- value: xsd:anyURI
image
Background image to use in proxy:Cards or proxy:Apps that point to contexts instantiated from this template context.
- domain: TemplateContext
- value: xsd:base64Binary
imageType
Type of background image to use in proxy:Cards or proxy:Apps that point to contexts instantiated from this template context.
- domain: TemplateContext
- value: one of ("GIF", "JPG", "PNG")
loginPath
login form submit URI relative to the value of 'homePage'
- domain: WebsiteFacade
- value: xsd:anyURI
desires
Definer desires but doesn't require this attribute from the participant.
- domain: Definer
- range: Attribute
overlayCode
JavaScript code to invoke to provide web augmentation/overlay.
- domain: Participant
- value: app-data:Overlay
participant
Participant context within a pair of Participant/Definer connector contexts
- domain: Connector
- value: Participant
profilePath
Profile form submit URI relative to 'homePage'.
- domain: WebsiteFacade
- value: xsd:anyURI
provides
Attribute provided by the definer. Value is an attribute defined by persona.owl or fp.owl
- domain: Connector
- value: Attribute
requires
Definer (or App) requires this attribute from the participant.
- domain: Connector
- value: Attribute
scrapeFillCode
JavaScript connector code
- domain: WebsiteFacade
- value: app-data:JavaScript
settingsViewRoot
Root of a tree of ViewNodes that describe the UI for the settings control panel for this context
- domain: ContextPrototype
- value: view-builder:ViewNode
role
Default role played by new Person entity instances in contexts instantiated from this Participant prototype
- domain: Participant
- value: persona:Role
viewRoot
Root of a tree of ViewNodes that describe the UI for this context
- domain: ContextPrototype
- value: view-builder:ViewNode