blob: aecb35f760a1c9d5d393a97a917604a4c9627f82 [file] [log] [blame]
@emf.gen(basePackage="org.eclipse.opencert")
@emf.gen(modelDirectory="org.eclipse.opencert.vocabulary/src-gen")
@gmf
@namespace(uri="http://opencert.org/vocabulary/2.0", prefix="vocabulary")
package vocabulary;
@gmf.diagram
class Vocabulary extends VocabularyElement {
val Term[*] terms;
val Category[*] categories;
val SourceOfDefinition[*] sourcesOfDefinition;
}
@gmf.node(label="name", color="252,252,230", tool.name="Category", tool.description="Create a category for terms.", tool.small.bundle="org.eclipse.opencert.vocabulary", tool.small.path="icons/famfamfam_silk_icons_v013/icons/folder.png", tool.large.bundle="org.eclipse.opencert.vocabulary", tool.large.path="icons/famfamfam_silk_icons_v013/icons/folder.png", label.icon="false")
class Category extends VocabularyElement {
@gmf.link(label.text="categorized term", color="50,50,50", target.decoration="arrow", tool.name="categorized term", tool.description="Create a connection between a category and a term.", tool.small.bundle="org.eclipse.opencert.vocabulary", tool.small.path="icons/link.png", tool.large.bundle="org.eclipse.opencert.vocabulary", tool.large.path="icons/link.png")
ref Term[*] terms;
@gmf.link(label.text="subcategory", color="50,50,50", target.decoration="arrow", tool.name="subcategory", tool.description="Create a subcategory relationship between two categories.", tool.small.bundle="org.eclipse.opencert.vocabulary", tool.small.path="icons/link.png", tool.large.bundle="org.eclipse.opencert.vocabulary", tool.large.path="icons/link.png")
ref Category[*] subCategories;
}
@gmf.node(label="name", color="245,245,245", tool.name="Term", tool.description="Create a term.",
tool.small.bundle="org.eclipse.opencert.vocabulary", tool.small.path="icons/gray_text.png",
tool.large.bundle="org.eclipse.opencert.vocabulary", tool.large.path="icons/gray_text.png", label.icon="false")
class Term extends VocabularyElement {
@GenModel(documentation="The definition or the definitions of the lemma.")
@gmf.label
attr String[+] definitions;
@GenModel(documentation="Additional notes beyond the definitions to help understand the meaning of the word.")
attr String[*] notes;
@GenModel(documentation="Examples which show how the lemma is used in a context.")
attr String[*] examples;
@GenModel(documentation="Different words which have the same meaning as the lemma.")
attr String[*] synonyms;
@gmf.link(label.text="defined by", color="50,50,50", target.decoration="arrow", tool.name="defined by", tool.description="Create a 'defined by' relationship between a term and its source of definition.", tool.small.bundle="org.eclipse.opencert.vocabulary", tool.small.path="icons/link.png", tool.large.bundle="org.eclipse.opencert.vocabulary", tool.large.path="icons/link.png")
ref SourceOfDefinition definedBy;
@gmf.link(label.text="is a", color="50,50,50", target.decoration="arrow", tool.name="is a", tool.description="Create a 'is a' relationship between two terms.", tool.small.bundle="org.eclipse.opencert.vocabulary", tool.small.path="icons/link.png", tool.large.bundle="org.eclipse.opencert.vocabulary", tool.large.path="icons/link.png")
ref Term[*] isA;
@gmf.link(label.text="has a", color="50,50,50", target.decoration="arrow", tool.name="has a", tool.description="Create a 'has a' relationship between two terms.", tool.small.bundle="org.eclipse.opencert.vocabulary", tool.small.path="icons/link.png", tool.large.bundle="org.eclipse.opencert.vocabulary", tool.large.path="icons/link.png")
ref Term[*] hasA;
@gmf.link(label.text="refers to", color="50,50,50", target.decoration="arrow", tool.name="refers to", tool.description="Create a 'refers to' relationship between two terms.", tool.small.bundle="org.eclipse.opencert.vocabulary", tool.small.path="icons/link.png", tool.large.bundle="org.eclipse.opencert.vocabulary", tool.large.path="icons/link.png")
ref Term[*] refersTo;
}
@gmf.node(label="name", color="240,252,240", tool.name="Source of Definition", tool.description="Create a sorce of definitions where the terms were originally defined.", tool.small.bundle="org.eclipse.opencert.vocabulary", tool.small.path="icons/famfamfam_silk_icons_v013/icons/book_next.png", tool.large.bundle="org.eclipse.opencert.vocabulary", tool.large.path="icons/famfamfam_silk_icons_v013/icons/book_next.png", label.icon="false")
class SourceOfDefinition extends VocabularyElement {
@gmf.label
attr String uri;
}
abstract interface VocabularyElement {
attr String name;
attr String description;
}