190 likes | 332 Views
Hypermedia Interfaces to Relational Data Structures (A Way to Presentation Integration). Jana Kohoutková Masaryk U niver s it y Brn o, Institute of Computer Science, Czech R epubli c kohoutkova@ics.muni.cz. Contents: 1. Hypermedia Presentation of Relational Data
E N D
Hypermedia Interfaces to Relational Data Structures(A Way to Presentation Integration) Jana Kohoutková Masaryk University Brno, Institute of Computer Science, Czech Republic kohoutkova@ics.muni.cz
Contents: 1. Hypermedia Presentation of Relational Data • Relational data => hypermedia (WWW):A. in full extent (information contents + relationships)B. systematically 2. HMDL: Data, Documents, Transformations 3. Hyperdocument Presentation Form 4. Closing Notes
HeadWpl Wpl_Head super: 0,1 sub: 0,* 0,* 1,1 Person Workplace 1,* Wpl_Pers 0,* 1,* Wpl_Addr 1,1 Address E-R Data Model • entities(people, workplaces, addresses) • associations(...) with cardinalities(...)
1,* 1,* 1,* Person Fac_Pers Dept_Pers 1,1 1,* 1,* Fac_Head Dept_Head 0,* 0,* Workplace HeadDept sub: 0,* super: 0,1 Department Faculty Faculty Department 0,1 0,* 0,* 0,* Fac_Dept Fac_Addr Dept_Addr 1,1 1,1 Address Address Hyperdocument Model • sections(people, faculties&departments ISA workplaces, addresses) • references(...) with cardinalities(...)
The Problem • Data Transformation • data organised by one schema to data organised by another schema • Data Presentation • data organised by document schema to the user • HMDL Language • formal descriptions of (data, document) schemas => transformations • Hyperdocument Presentation Form
In a Nutshell • HMDL Language • supports integrationof source data (relational) and presentation documents (hypertext/media)… by defining transformational relationships among (data, document) instances… as described by the respective schemas • Hyperdocument Presentation Form • supports browsing & viewing structure and instances of documents (hypertext/media)… by defining kinds of document pages… as described by the respective schemas
Contents: • 1. Hypermedia Presentation of Relational Data • 2. HMDL: Data, Documents, Transformations • Data and Document Schemas • Inter-schema Transformations • 3. Hyperdocument Presentation Form • 4. Closing Notes
Data Descriptions Data Schema Description DATASCHEMA School ENTITY Person HAS PK_Person:int; Surname:char[30]; Name:char[15]; TitleA:char[15]; TitleB:char[10]; KEY PK_Person; UNDER PK_Person<>null; END ENTITY Workplace… … … END ENTITY Address … … … END ASSOC Wpl_Pers HAS FK_Workpl:int; FK_Person:int; CONN Workplace[1,*], Person[1,*] WHEN FK_Workpl==PK_Workpl AND FK_Person==PK_Person; END ASSOC Wpl_Head… … … END ASSOC HeadWpl … … … END ASSOC Wpl_Addr … … … END END School; • declarative descriptions: types, functions, constants, entitiesandassociations • functional expressions: constraints
Document Schema Description DOCSCHEMA School_Presentation$”School XYZ”:”School” SECTION STRS Person … END SECTIONCHARS Workplace$”Search of Workplaces”:”Workplaces” HAS WplCode:int; WplName:char[75]… … … KEYWplCode;INATR WplCode; LINE WplName; UNDER WplCode<>null; END SECTION Faculty … … … HAS FacCode:int; … … … ISA Workplace WHENFacCode==WplCode; … … … END … … … REFER Fac_Pers HAS FK_Faculty:int; FK_Person:int; CONN Faculty$”Member of Faculties”[1,*], SELF Person$”People at the faculty”[1,*] WHEN FK_Faculty==FacCode AND FK_Person==PersonCode; END … … … END School_Presentation • declarative descriptions: ..., sectionsandreferences • functional expressions: constraints • formatting information: labels, qualificationsof attributes/sections
Transformation Description FUNC getSupWpl (wpl: TYPEOF Workplace): TYPEOF Workplace { (super JOIN HeadWpl | sub:=wpl); } TRANSF School_Presentation <- School BUILD Person <- Person … … … END BUILD Workplace <- Workplace … … … END BUILD Faculty <- Workplace … … … END BUILD Department <- Workplace LET supWpl:=getSupWpl(THIS); WHEN supWpl<>null; ASGN DeptCode :=gen_FK(Workplace,THIS); FK_DeptAddr:=gen_fk(->Wpl_Addr); FK_HeadDept:=gen_FK(Department,supWpl); … … … END BUILD Address <- Address … … … END END School_Presentation • functional expressions: transformations... numeric and list processing functions and operators... operators for accessing data in schema instances
Contents: • 1. Hypermedia Presentation of Relational Data • 2. HMDL: Data, Documents, Transformations • 3. Hyperdocument Presentation Form • Index Page • Information Pages • Link Pages • 4. Closing Notes
School XYZ Search of People<Person LPg> Search of Workplaces<Workplace LPg> Faculties at the School<Faculty LPg> List of Departments<Department LPg> List of Addresses<Address IPg> Index Page • unique within the document: entry (home) page • collection of hyperlinksto section presentation pages
School XYZ – [WplName] School XYZ<XPg> Search of Workplaces<Workplace LPg> Faculties at the School<Faculty LPg> [WplName] Activities: [Mission] Address: [StreetNumber] [ZipCity] <Address IPg by Fac_Addr> Faculty management: [PersonName] <Person IPg by Fac_Head> [PersonName] <Person IPg by Fac_Head> … … … Faculty departments <Department LPg by Fac_Dept> People at the Faculty<Person LPg by Fac_Pers> Instance Information Page • 1 : 1 per section instance • coll. of attributes and hyperlinksto related pages • reference block / reference link page
School XYZ School XYZ<XPg> List of Addresses [StreetNumber] [ZipCity] Located faculties: [WplName]<Faculty IPg by Fac_Addr> [WplName]<Faculty IPg by Fac_Addr> … … … Located departments: [WplName]<Department IPg by Dept_Addr> [WplName]<Department IPg by Dept_Addr> … … … [StreetNumber] [ZipCity] … … … Object Information Page • 1 : 1 per section object • attributes – hyperlinks – reference blocks / link pages
School XYZ School XYZ<XPg> Search of People Person name Substring [............................................] Search result(s) [PersonName] <Person IPg> [PersonName] <Person IPg> [PersonName] <Person IPg> … … … Link Page • 1 : 1 per section object iff cardinality > 1 • coll. of hyperlinksto relevant instance information pages (full/selected list – e.g., substring search) • instance reference attribute (complex)
School XYZ School XYZ<XPg> Search of Workplaces Faculties Departments A B C ... ... ... ... X Y Z Search result(s) [WplName] <Workplace IPg> (F) [WplName] <Workplace IPg> (F) [WplName] <Workplace IPg> (D) … … … Link Page ... cont. • ... alphabetical sublists by given leading character
School XYZ – [WplName] School XYZ<XPg> Search of People<Person LPg> [WplName]<Faculty IPg> People at the Faculty [PersonName] <Person IPg by Fac_Pers> [PersonName] <Person IPg by Fac_Pers > [PersonName] <Person IPg by Fac_Pers > … … … Reference Link Page • selection from full link page of a section object • coll. of hyperlinksto instance information pages referenced from a concrete object instance by some reference= reference block on a separate page
Contents: 1. Hypermedia Presentation of Relational Data 2. HMDL: Data, Documents, Transformations 3. Hyperdocument Presentation Form 4. Closing Notes
Closing Notes • Comparison of HMDL to XML/XSLT • identical principles (HMDL earlier), focus on E-R data, hyperdocuments, transformations • major difference HMDL vs. XML: functional expressions in declarative descriptions of data • major advantage of HMDL over XSLT: power of functions and operators (accessing associated/referenced objects) • Practical Application • medical data exchange and presentation • various web-presentation systems • Future Plans • semi-automated derivation of transformation relationships • meta-transformations covering typical schematic heterogeneities in multidatabases