Sha256: a5367ea64fbec076d60e239f38149437214fd4d16a2c309495ab77e60e72f0c5

Contents?: true

Size: 1.24 KB

Versions: 2

Compression:

Stored size: 1.24 KB

Contents

vocabulary Address;

/*
 * Value Types
 */
City is written as VariableLengthText(64);
CompanyName is written as VariableLengthText;
FamilyName is written as VariableLengthText(20);
GivenNames is written as VariableLengthText(20);
Number is written as VariableLengthText(12);
Postcode is written as VariableLengthText;
StreetLine is written as VariableLengthText(64);

/*
 * Entity Types
 */
Company is identified by its Name;

Family is identified by its Name;

Person is identified by Family and GivenNames where
	Person is of one Family,
	Family includes Person,
	Person has one GivenNames;

Street is identified by first-StreetLine and second-StreetLine and third-StreetLine where
	Street includes one first-StreetLine,
	Street includes at most one second-StreetLine,
	Street includes at most one third-StreetLine;

Address is identified by street-Number and Street and City and Postcode where
	Address is at at most one street-Number,
	Address is at one Street,
	Address is in one City,
	Address is in at most one Postcode restricted to {1000..9999},
	Postcode is of Address;
Company has head office at at most one Address;
Person lives at at most one Address;

/*
 * Constraints:
 */
Street includes third-StreetLine
	only if Street includes second-StreetLine;

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activefacts-0.8.6 examples/CQL/Address.cql
activefacts-0.8.5 examples/CQL/Address.cql