SB Pattern language for Data-models **

´´First, it has a moral component. Second, it has the aim of creating coherence, morphological coherence in the things which are made with it. And third, it is generative: it allows people to create coherence, morally sound objects, and encourages and enables this process because of its emphasis on the coherence of the created whole. ,, --Christopher Alexander, Keynote at the 1996 ACM Conference on Object-Oriented Programs, Systems, Languages and Applications

´´Each pattern is a rule which describes what you have to do to generate the entity which it defines.,, --Christopher Alexander, The timeless way of building; ISBN 0-19-502248-3

For instance the FRBR Relations pattern, describes how to implement and use FRBR in the structure of your collection.

Natural language

Pattern language


Patterns [ use the PatternTemplate ]

Rules of grammar and meaning
which give connections

Pattern expressions [ part of the CollectionTemplate ]


Implemented collections

Wikipedia says about patterns:

´´A pattern language is a structured method of describing good design practices within a field of expertise. It is characterized by[citation needed]

  1. Noticing and naming the common problems in a field of interest,
  2. Describing the key characteristics of effective solutions for meeting some stated goal,
  3. Helping the designer move from problem to problem in a logical way, and
  4. Allowing for many different paths through the design process. ,,

Our goal is to let patterns become a generative tool for making the Data-model, you as a user are encouraged to augment and add patterns as you create your data-models.

For patterns there is a PatternTemplate try to use this and look at patterns by others to let yourself be inspired. Patterns can be constructed with a degree of detail that is entirely up to the author, from describing broad concepts to detailing narrow technical details.

Pattern structure

Grade: from 0(zero) to 2(two) stars. -** the grade is appended to the pattern Name

Name (and grade): PageTitle written in CamelCase or Page_title written with underscore as the delimiter, you are encouraged to use the underscore for legibility reasons, AND match it to the heading of the pattern. Try to think of a descriptive, but not to long name.

Context: Where in the process does this pattern apply, eg. overall planning or minute details. remember to include relevant patterns in-line in the context description.

Description of pattern: What does this pattern cover, the general subject no problems no solutions, just a description of the covered subject. This text is entered in Bold Font

Problem description: A description of the relevant forces and constraints, and how they interact. try to reveal hidden constraints that are hard to detect.

Solution: What is the encouraged approach to solving the problem of this pattern? Describe dynamic and static effects caused by/on other patterns. This text is entered in Bold Font

Consider next: What options do the use of this pattern bring about, what path does it send the user along. How does it interact with other patterns. Consider in-line references to likely patterns which can influence the product along with this pattern.

Cost effiency

"Avoid as much as possible filling in elements or structuring data in a particular way only because it appears in a standard or other implementers do it that way. Instead find out what the reason for the inclusion of that element is, or review the other implementer's procedures(patterns ed.), and determine if those goals apply to your project." source:Metadata for Digital Resources


When describing the collection templates, be sure to include the workflow in the description, e.g. which data is needed in order to allow the collection elements to be represented on their own.

GuidelinesForNewDatamodel/PatternLanguage (last edited 2010-09-30 08:30:49 by eab)