Appendix
A.1.1 NamedNode
• EAttE{NamedNode, NamedNode, Node, {NNFields, NNIsAbstract}, {NNLevel, NNPotency}}
• Ann{NNLevel, Level, NamedNode, 2}
• Ann{NNPotency, Potency, NamedNode, 0}
• EAttA{NNFields, Fields, NodeFields, {NNName}, ∅, Field, true, undef}
• EAttE{NNName, Name, Field, {NNNameType, NNNameValue}, {NNNameLevel, NNNamePotency, NNNameNature}}
• EAttA{NNNameType, Type, FieldType, ∅, ∅, base, false, string}
• EAttA{NNNameValue, Value, FieldValue, ∅, ∅, base, false, undef}
• Ann{NNNameLevel, Level, NNName, 2}
• Ann{NNNamePotency, Potency, NNName, 2}
• Ann{NNNameNature, Nature, NNName, dual}
• EAttA{NNIsAbstract, IsAbstract, NodeIsAbstract, ∅, ∅, bool, false, true}
A.1.2 ProductType
• EAttE{ProductType, ProductType, Node, {PTFields, PTIsAbstract}, {PTLevel, PTPotency}}
• Ann{PTLevel, Level, ProductType, 2}
• Ann{PTPotency, Potency, ProductType, 2}
• EAttA{PTFields, Fields, NodeFields, {PTTaxRate, PTPrice, PTName},
∅, Field, true, undef}
• EAttE{PTTaxRate, TaxRate, Field, {PTTaxRateType, PTTaxRateValue}, {PTTaxRateLevel, PTTaxRatePotency, PTTaxRateNature}}
• EAttA{PTTaxRateType, Type, FieldType, ∅, ∅, base, false, number}
• EAttA{PTTaxRateValue, Value, FieldValue, ∅, ∅, base, false, undef}
• Ann{PTTaxRateLevel, Level, PTTaxRate, 2}
• Ann{PTTaxRatePotency, Potency, PTTaxRate, 1}
• Ann{PTTaxRateNature, Nature, PTTaxRate, simple}
• EAttE{PTPrice, Price, Field, {PTPriceType, PTPriceValue}, {PTPriceLevel, PTPricePotency, PTPriceNature}}
• EAttA{PTPriceType, Type, FieldType, ∅, ∅, base, false, number}
• EAttA{PTPriceValue, Value, FieldValue, ∅, ∅, base, false, undef}
• Ann{PTPriceLevel, Level, PTPrice, 2}
• Ann{PTPricePotency, Potency, PTPrice, 2}
• Ann{PTPriceNature, Nature, PTPrice, simple}
• EAttE{PTName, Name, Field, {PTNameType, PTNameValue}, {PTNameLevel, PTNamePotency, PTNameNature}}
• EAttA{PTNameType, Type, FieldType, ∅, ∅, base, false, string}
• EAttA{PTNameValue, Value, FieldValue, ∅, ∅, base, false, undef}
• Ann{PTNameLevel, Level, PTName, 2}
• Ann{PTNamePotency, Potency, PTName, 2}
• Ann{PTNameNature, Nature, PTName, dual}
• EAttA{PTIsAbstract, IsAbstract, NodeIsAbstract, ∅, ∅, bool, false, false}
A.1.3 Book
• EAttE{Book, Book, ProductType, {BookFields, BookIsAbstract}, {BookLevel, BookPotency}}
• Ann{BookLevel, Level, Book, 1}
• Ann{BookPotency, Potency, Book, 1}
• EAttA{BookFields, Fields, PTFields,{BookTaxRate, BookPrice, BookName},
∅, Field, true, undef}
• EAttE{BookTaxRate, TaxRate, PTTaxRate, {BookTaxRateType, BookTaxRateValue},
{BookTaxRateLevel, BookTaxRatePotency, BookTaxRateNature}}
• EAttA{BookTaxRateType, Type, PTTaxRateType, ∅, ∅, base, false, number}
• EAttA{BookTaxRateValue, Value, PTTaxRateValue, ∅, ∅, base, false, 7}
• Ann{BookTaxRateLevel, Level, BookTaxRate, 1}
• Ann{BookTaxRatePotency, Potency, BookTaxRate, 0}
• Ann{BookTaxRateNature, Nature, BookTaxRate, simple}
• EAttE{BookPrice, Price, PTPrice, {BookPriceType, BookPriceValue}, {BookPriceLevel, BookPricePotency, BookPriceNature}}
• EAttA{BookPriceType, Type, PTPriceType, ∅, ∅, base, false, number}
• EAttA{BookPriceValue, Value, PTPriceValue, ∅, ∅, base, false, undef}
• Ann{BookPriceLevel, Level, PTPrice, 1}
• Ann{BookPricePotency, Potency, PTPrice, 1}
• Ann{BookPriceNature, Nature, PTPrice, simple}
• EAttE{BookName, Name, PTName, {BookNameType, BookNameValue}, {BookNameLevel, BookNamePotency, BookNameNature}}
• EAttA{BookNameType, Type, PTNameType, ∅, ∅, base, false, string}
• EAttA{BookNameValue, Value, PTNameValue, ∅, ∅, base, false, ”Book”}
• Ann{BookNameLevel, Level, BookName, 1}
• Ann{BookNamePotency, Potency, BookName, 1}
• Ann{BookNameNature, Nature, BookName, dual}
• EAttA{BookIsAbstract, IsAbstract, PTIsAbstract, ∅, ∅, bool, false, false}
A.1.4 DVD
• EAttE{DVD, DVD, ProductType, {DVDFields, DVDIsAbstract}, {DVDLevel, DVDPotency}}
• Ann{DVDLevel, Level, DVD, 1}
• Ann{DVDPotency, Potency, DVD, 1}
• EAttA{DVDFields, Fields, PTFields,
{DVDTaxRate, DVDPrice, DVDName}, ∅, Field, true, undef}
• EAttE{DVDTaxRate, TaxRate, PTTaxRate, {DVDTaxRateType, DVDTaxRateValue},
{DVDTaxRateLevel, DVDTaxRatePotency, DVDTaxRateNature}}
• EAttA{DVDTaxRateType, Type, PTTaxRateType, ∅, ∅, base, false, number}
• EAttA{DVDTaxRateValue, Value, PTTaxRateValue, ∅, ∅, base, false, 19}
• Ann{DVDTaxRateLevel, Level, DVDTaxRate, 1}
• Ann{DVDTaxRatePotency, Potency, DVDTaxRate, 0}
• Ann{DVDTaxRateNature, Nature, DVDTaxRate, simple}
• EAttE{DVDPrice, Price, PTPrice, {DVDPriceType, DVDPriceValue},
{DVDPriceLevel, DVDPricePotency, DVDPriceNature}}
• EAttA{DVDPriceType, Type, PTPriceType, ∅, ∅, base, false, number}
• EAttA{DVDPriceValue, Value, PTPriceValue, ∅, ∅, base, false, undef}
• Ann{DVDPriceLevel, Level, PTPrice, 1}
• Ann{DVDPricePotency, Potency, PTPrice, 1}
• Ann{DVDPriceNature, Nature, PTPrice, simple}
• EAttE{DVDName, Name, PTName, {DVDNameType, DVDNameValue}, {DVDNameLevel, DVDNamePotency, DVDNameNature}}
• EAttA{DVDNameType, Type, PTNameType, ∅, ∅, base, false, string}
• EAttA{DVDNameValue, Value, PTNameValue, ∅, ∅, base, false, ”DVD”}
• Ann{DVDNameLevel, Level, DVDName, 1}
• Ann{DVDNamePotency, Potency, DVDName, 1}
• Ann{DVDNameNature, Nature, DVDName, dual}
• EAttA{DVDIsAbstract, IsAbstract, PTIsAbstract, ∅, ∅, bool, false, false}
A.1.5 MobyDick Book
• EAttE{MDBook, Book, Book, {MDBookFields, MDBookIsAbstract}, {MDBookLevel, MDBookPotency}}
• Ann{MDBookLevel, Level, MDBook, 0}
• Ann{MDBookPotency, Potency, MDBook, 0}
• EAttA{MDBookFields, Fields, BookFields, {MDBookTaxRate, MDBookPrice, MDBookName}, ∅, Field, true, undef}
• EAttE{MDBookTaxRate, TaxRate, BookTaxRate, {MDBookTaxRateType, MDBookTaxRateValue},
{MDBookTaxRateLevel, MDBookTaxRatePotency, MDBookTaxRateNature}}
• EAttA{MDBookTaxRateType, Type, BookTaxRateType,∅,∅, base, false, num-ber}
• EAttA{MDBookTaxRateValue, Value, BookTaxRateValue, ∅,∅, base, false, 7}
• Ann{MDBookTaxRateLevel, Level, MDBookTaxRate, 0}
• Ann{MDBookTaxRatePotency, Potency, MDBookTaxRate, 0}
• Ann{MDBookTaxRateNature, Nature, MDBookTaxRate, simple}
• EAttE{MDBookPrice, Price, BookPrice, {MDBookPriceType, MDBookPrice-Value}, {MDBookPriceLevel, MDBookPricePotency, MDBookPriceNature}}
• EAttA{MDBookPriceType, Type, BookPriceType, ∅, ∅, base, false, number}
• EAttA{MDBookPriceValue, Value, BookPriceValue, ∅, ∅, base, false, 8.22}
• Ann{MDBookPriceLevel, Level, BookPrice, 0}
• Ann{MDBookPricePotency, Potency, BookPrice, 0}
• Ann{MDBookPriceNature, Nature, BookPrice, simple}
• EAttE{MDBookName, Name, BookName, {MDBookNameType, MDBookNameValue},
{MDBookNameLevel, MDBookNamePotency, MDBookNameNature}}
• EAttA{MDBookNameType, Type, BookNameType, ∅, ∅, base, false, string}
• EAttA{MDBookNameValue, Value, BookNameValue, ∅, ∅, base, false,
”Moby Dick”}
• Ann{MDBookNameLevel, Level, MDBookName, 0}
• Ann{MDBookNamePotency, Potency, MDBookName, 0}
• Ann{MDBookNameNature, Nature, MDBookName, dual}
• EAttA{MDBookIsAbstract, IsAbstract, BookIsAbstract,∅, ∅, bool, false, false}
A.1.6 MobyDick DVD
• EAttE{MDDVD, Book, DVD, {MDDVDFields, MDDVDIsAbstract}, {MDDVDLevel, MDDVDPotency}}
• Ann{MDDVDLevel, Level, MDDVD, 0}
• Ann{MDDVDPotency, Potency, MDDVD, 0}
• EAttA{MDDVDFields, Fields, DVDFields,
{MDDVDTaxRate, MDDVDPrice, MDDVDName}, ∅, Field, true, undef}
• EAttE{MDDVDTaxRate, TaxRate, DVDTaxRate, {MDDVDTaxRateType, MDDVDTaxRateValue},
{MDDVDTaxRateLevel, MDDVDTaxRatePotency, MDDVDTaxRateNature}}
• EAttA{MDDVDTaxRateType, Type, DVDTaxRateType, ∅, ∅, base, false, number}
• EAttA{MDDVDTaxRateValue, Value, DVDTaxRateValue, ∅, ∅, base, false, 7}
• Ann{MDDVDTaxRateLevel, Level, MDDVDTaxRate, 0}
• Ann{MDDVDTaxRatePotency, Potency, MDDVDTaxRate, 0}
• Ann{MDDVDTaxRateNature, Nature, MDDVDTaxRate, simple}
• EAttE{MDDVDPrice, Price, DVDPrice,{MDDVDPriceType, MDDVDPrice-Value}, {MDDVDPriceLevel, MDDVDPricePotency, MDDVDPriceNature}}
• EAttA{MDDVDPriceType, Type, DVDPriceType, ∅, ∅, base, false, number}
• EAttA{MDDVDPriceValue, Value, DVDPriceValue, ∅, ∅, base, false, 19}
• Ann{MDDVDPriceLevel, Level, DVDPrice, 0}
• Ann{MDDVDPricePotency, Potency, DVDPrice, 0}
• Ann{MDDVDPriceNature, Nature, DVDPrice, simple}
• EAttE{MDDVDName, Name, DVDName, {MDDVDNameType, MDDVD-NameValue}, {MDDVDNameLevel, MDDVDNamePotency, MDDVDName-Nature}}
• EAttA{MDDVDNameType, Type, DVDNameType, ∅, ∅, base, false, string}
• EAttA{MDDVDNameValue, Value, DVDNameValue, ∅, ∅, base, false, ”Moby Dick”}
• Ann{MDDVDNameLevel, Level, MDDVDName, 0}
• Ann{MDDVDNamePotency, Potency, MDDVDName, 0}
• Ann{MDDVDNameNature, Nature, MDDVDName, dual}
• EAttA{MDDVDIsAbstract, IsAbstract, DVDIsAbstract,∅,∅, bool, false, false}
A.1.7 Inheritance
• EAttE{PTNNInh, PTNNInh, Inheritance,
{PTNNSource, PTNNTarget, PTNNSourceMin, PTNNSourceMax, PTNNTargetMin, PTNNTargetMax}, {PTNNLevel, PTNNPotency}}
• Ann{PTNNLevel, Level, PTNNInh, 2}
• Ann{PTNNPotency, Potency, PTNNInh, 0}
• EAttA{PTNNSource, Source, InhSource, ∅, ∅, Field, false, ProductType}
• EAttA{PTNNTarget, Target, InhTarget, ∅, ∅, Field, false, NamedNode}
• EAttA{PTNNSourceMin, SourceMin, InhSourceMin, ∅, ∅, number, false, 1}
• EAttA{PTNNSourceMax, SourceMax, InhSourceMax, ∅, ∅, number, false, 1}
• EAttA{PTNNTargetMin, TargetMin, InhTargetMin,∅, ∅, number, false, 1}
• EAttA{PTNNTargetMax, TargetMax, InhTargetMax, ∅, ∅, number, false, 1}
A.1.8 BasedOn at Level 1
• EAttE{BasedOn1, BasedOn, Edge, {BasedOn1Source, BasedOn1Target, BasedOn1SourceMin, BasedOn1SourceMax, BasedOn1TargetMin,
BasedOn1TargetMax}, {BasedOn1Level, BasedOn1Potency}}
• Ann{BasedOn1Level, Level, BasedOn1, 1}
• Ann{BasedOn1Potency, Potency, BasedOn1, 1}
• EAttA{BasedOn1Source, Source, EdgeSource, ∅, ∅, Field, false, Book}
• EAttA{BasedOn1Target, Target, EdgeTarget, ∅, ∅, Field, false, DVD}
• EAttA{BasedOn1SourceMin, SourceMin, EdgeSourceMin, ∅, ∅, number, false, 1}
• EAttA{BasedOn1SourceMax, SourceMax, EdgeSourceMax, ∅, ∅, number, false, 1}
• EAttA{BasedOn1TargetMin, TargetMin, EdgeTargetMin, ∅, ∅, number, false, 1}
• EAttA{BasedOn1TargetMax, TargetMax, EdgeTargetMax,∅, ∅, number, false, ∞}
A.1.9 BasedOn at Level 0
• EAttE{BasedOn0, BasedOn, BasedOn1, {BasedOn0Source, BasedOn0Target, BasedOn0SourceMin, BasedOn0SourceMax, BasedOn0TargetMin,
BasedOn0TargetMax}, {BasedOn0Level, BasedOn0Potency}}
• Ann{BasedOn0Level, Level, BasedOn0, 0}
• Ann{BasedOn0Potency, Potency, BasedOn0, 0}
• EAttA{BasedOn0Source, Source, BasedOn1Source, ∅, ∅, Field, false, MD-Book}
• EAttA{BasedOn0Target, Target, BasedOn1Target, ∅, ∅, Field, false, MD-DVD}
• EAttA{BasedOn0SourceMin, SourceMin, BasedOn1SourceMin, ∅, ∅, number, false, 1}
• EAttA{BasedOn0SourceMax, SourceMax, BasedOn1SourceMax,∅, ∅, number, false, 1}
• EAttA{BasedOn0TargetMin, TargetMin, BasedOn1TargetMin, ∅, ∅, number, false, 1}
• EAttA{BasedOn0TargetMax, TargetMax, BasedOn1TargetMax, ∅, ∅, number, false, 1}