14.06.2013 Views

Databases and Systems

Databases and Systems

Databases and Systems

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

204<br />

journal: VRT : { uncontrolled: string,<br />

controlled: VRT { medline-jta: string,<br />

\* Medline journal title abbrev.\*<br />

iso-jta:string,<br />

\*ISO journal title abbreviation\*<br />

journal-title: string,<br />

volume: string,<br />

issue: string,<br />

year: int,<br />

pages: string,<br />

abstract: string,<br />

keywd: SET{string}} }<br />

In general, the types are given by the syntax:<br />

:=int|bool|string|...|<br />

\* Full journal title\*<br />

issn: string }}<br />

\ *ISSN number\ *<br />

Here bool|int | string|... are the (built-in) base types. The other types are all<br />

constructors <strong>and</strong> build new types from existing types. RCD{l<br />

constructs record types from the types VRT{l<br />

constructs variant types from the types .. . , <strong>and</strong><br />

respectively construct set, bag, <strong>and</strong> list types from the type .<br />

Values of these types can be explicitly constructed in CPL as follows:<br />

RCD{l 1:e 1,l 2:e 2 ,..., l n:e n} for records; VRT{l : e } for variants, SET{e 1,...,e n} for<br />

sets; <strong>and</strong> similarly for bags <strong>and</strong> lists. For example, a fragment of data conforming to<br />

the Publication type is<br />

SET{ RCD{title : “Structure of the human perforin gene",<br />

authors : LIST{RCD{ name : “Lichtenheld",<br />

initial : “MG"},<br />

RCD{name : “Podack",<br />

initial : “ER"}},<br />

journal: VRT{controlled: VRT{medline-jta:”J Immunol”}}<br />

volume:”143",<br />

issue:”12",<br />

year:1989,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!