AttrDef[] general_attrs = general_attr_list.toArray(new AttrDef[general_attr_list.size()]);
attrGroups = new AttrGroup[] {
new AttrGroup("General",
"These fields capture general information about this ontology, who created it, and where it came from. " +
"The two attributes \"Resource type\" and \"Authority abbreviation\" are used to construct the URIs " +
"for the vocabulary and terms. In our system, they can contain only letters, " +
"numbers, underscores, and (not recommended) hyphens, and begin with a letter.",
general_attrs
),
new AttrGroup("Usage/License/Permissions",
"The Usage, License, and Permissions fields help keep track of how we obtained this vocabulary " +
"(and know it is OK to serve to others), and on what terms other people can use it.",
new AttrDef[] {
createAttrDef(OmvMmi.origVocManager)
.setLabel("Manager of source vocabulary")
.setTooltip("Who actively maintains the source vocabulary (used to build the ontology) and " +
"the changes to it. Specify an individual or very specific organization, by name or " +
"as a URI. Include phone, mail, and URL in parentheses after the specification, " +
"if available: First Last (831-nnn-nnnn, name@domain.com, http://domain.com/myHomePage). " +
"If the vocabulary is not actively maintained, put \"None\" in this field.")
.setExample("Athena Project")
,
createAttrDef(OmvMmi.contact)
.setLabel("Contact/Responsible Party")
.setTooltip("Who is responsible for distribution of the vocabulary, particularly to MMI. " +
"(In other words, who MMI and the public should contact for more information, or to " +
"negotiate changes.) This should be a specific person or authorized department. " +
"Include phone, mail, and URL in parentheses after the name, " +
"if available: First Last (831-nnn-nnnn, name@domain.com, http://domain.com/myHomePage). " +
"Note also the next field shows possible roles this person plays with respect to this product.")
.setExample("Joe Ontology Manager")
,
createAttrDef(OmvMmi.contactRole)
.setLabel("Contact role")
.setTooltip("What is the role played by the Contact/Responsible Party named above? " +
"Choose the most senior authority that applies of: <br/> " +
"Content Manager: the person/organization that manages the content of the vocabulary <br/>" +
"Ontology Producer: the person/organization that creates (and possibly serves) this information in an ontology <br/>" +
"Organizational Manager: the person/organization manager that is responsible overall for " +
"producing this data product (but does not necessarily produce it themselves) <br/>" +
"IP Negotiator: the person/organization that handles intellectual property, " +
"including this vocabulary or ontology <br/>" +
"Other: specify if none of these fit.")
.setExample("content manager")
.addOption(new Option("--choose one--"))
.addOption(new Option("content manager"))
.addOption(new Option("ontology producer"))
.addOption(new Option("organizational manager"))
.addOption(new Option("IP negotiator"))
.addOption(new Option("other"))
,
// TODO createAttrDef(OmvMmi.accessStatus),
// TODO createAttrDef(OmvMmi.accessStatusDate),
// TODO createAttrDef(OmvMmi.licenseCode),
// TODO createAttrDef(OmvMmi.licenseReference),
// TODO createAttrDef(OmvMmi.licenseAsOfDate),
createAttrDef(OmvMmi.temporaryMmiRole)
.setLabel("Temporary MMI role")
.setTooltip("Until an agreement is reached on MMI's role, what role is MMI currently playing: <br/>" +
"Content Manager: MMI actively manages this vocabulary content and is responsible (with the community) for its creation <br/>" +
"Ontology Producer: MMI accepts vocabulary content from the community and turns it into a served ontology <br/>" +
"Ontology Republisher: MMI accepts an ontology, caches it, and produces its own copy of the ontology " +
"in order to provide additional services (URI generation, revision history maintenance and tracking, and so on).")
.setExample("ontology producer")
.addOption(new Option("--choose one--"))
.addOption(new Option("content manager"))
.addOption(new Option("ontology producer"))
.addOption(new Option("ontology republisher"))
.addOption(new Option("other"))
,
// TODO createAttrDef(OmvMmi.agreedMmiRole),
createAttrDef(OmvMmi.creditRequired)
.setLabel("Author credit required")
.setTooltip("Specifies whether users of the ontology have to provide credit to its creator. " +
"Please choose whatever applies ('no' is a very helpful selection), and enter the next " +
"field if the select here is 'yes' or 'conditional'. Leave blank if you aren't sure.")
.setExample("yes")
.addOption(new Option("not specified"))
.addOption(new Option("yes"))
.addOption(new Option("no"))
.addOption(new Option("conditional"))
,
// TODO createAttrDef(OmvMmi.creditConditions),
createAttrDef(OmvMmi.creditCitation)
.setLabel("Citation string")
.setTooltip("Free text containing the credit language that should be included in works based on this ontology.")
.setNumberOfLines(3)
.setExample("Ontology provided by Athena Project")
,
}
),
new AttrGroup("Original source",
"The fields in this section capture specific metadata that was documented in the " +
"original vocabulary, so you can see how it was originally documented. " +
"Typically, this metadata is much less extensive than we maintain.",
new AttrDef[] {