Status of this Document

This is a skeleton of ideas for paper for WWW2003.

Document Structure

This paper will focus on an example data modeling problem, W3C website access control. This model will be described in ER diagrams, ORM (Object Role Models)MOF (UML), XTM (XML Topic Maps) and RDF.

ER (Entity Relationship) Diagrams

ER diagrams describe, as you might expect, relationships between entities. Entities in this sense are not related to either HTTP entities and XML/SGML Entities.

A common path for creating an Entity Relationship diagram is a follows:

  1. Select a set of objects that one wishes to formally describe. These objects form a domain of discourse.
  2. Choose labels for these objects. These labeled objects in the domain of discourse are now entities.
  3. Select a set of attributes of each entity to model. For each attribute, decide if it is a:
    atomic attribute
    compound attribute
    relationship to another entity or set of entities.

Example 1. ER Diagram for W3C ACLs

ER diagram for W3C ACLs, has n-ary relationships

When confined to using binary relationships, the trinary grant relationship is replaced with an ACE (Access Control Entry) entity. This entity represents the decision to grant resource access to a particular entity. Frequently, constraints that were hidden in relationships of degree higher than two will be revealed in enititizing (reifying?) them. In this case, it makes no sense to grant GET access to the same principle for the same resrource more than once. This is revealed in the fact that principle, resource and opperation form a minimal superkey (a key that maintains uniqueness through the values of each of its attributes) for the newly created ACE entity.

ER diagram for W3C ACLs, has binary relationships

ORM (Object Role Models)

ORM is another graphical modeling format aimed at understanding by lay-people while serving the rigor requirements of those responsible for instantiating the model. ORM does not assign attributes as the introduction of an attribute to a relationship forces it to be re-coded as an Object (Entity).

ORM diagram for W3C ACLs, has n-ary relationships

MOF (Meta-Object Facility) [from UML]

The Object Modeling Group specified a MOF and CWM for

XTM (XML Topic Maps) [XML model of SAM]

RDF (Resource Description Framework)

N-ary Relationships

ER relationship diagrams allow representation of N-ary relationships. Of the above modeling technologies, only Topic Maps allow direct modelling of relationships of more than 2 entities.

Rule Expression

Vague impressions: ORM, ER and UML express consistency and data validation. Topic maps seem content to accurately express knowledge and do nothing with it. Terry Halpin's "Business Rules and Object Role Modeling." touches on schema transformations. More at ORM website?

Logic

Querying

Assertions

Conditional Assertions

Terms

entity
An object or concept in the real world with quantifiable properties; a noun in the domain of discourse.
domain of discourse
A subset of features of the real world that one choses to model.
connection trap
The inappropriate joining of non-related fields.
network database
hierarchical database
XML database
CWM (Common Warehouse Metamodel)
(part 1), (part 2)
minimal superkey

Appendix A. Local Resources

this document
SVG rendering of binary model of W3C ACLs - all images are built from this.
PNG rendering of binary model of W3C ACLs - built from the SVG version.
dia binary model of W3C ACLs - non-authoritative, see the SVG version.
SVG rendering of n-ary model of W3C ACLs - all images are built from this.
PNG rendering of n-ary model of W3C ACLs - built from the SVG version.
dia n-ary model of W3C ACLs - non-authoritative, see the SVG version.
SVG rendering of binary ORM model of W3C ACLs - all images are built from this.
PNG rendering of binary ORM model of W3C ACLs - built from the SVG version.
dia binary ORM model of W3C ACLs - non-authoritative, see the SVG version.

Useful Tools

batik
/usr/local/j2sdk1.4.0/bin/java -jar /usr/local/batik-1.1.1/batik-svgbrowser.jar *.svg &