Configuration: server and project - NCIEVS/nci-protege5 GitHub Wiki

Content required to configure vocabulary/project

  • classes and properties need labels, user-defined (e.g. Preferred_Name) or rdfs:label, to display in GUI widgets. If none is used, display falls back to the IRI fragment in the widgets that require a label. The IRI of the label property needs to be specified in label_prop below.
  • NCIt: uses rdfs:label
  • NCIt configuration: add labels to rdfs:label and rdfs:comment.
  • Most every annotation property declaration is left with the rdfs:range unspecified (i.e untyped literal). The rdfs:range in an annotation property declaration will be respected in the annotation of a class, except in several cases, all discussed further below. These are xsd:anyURI, "-enum" enumerated properties (pointing to user-defined datatypes), and special user-defined datatypes meant to support software: textArea, date-time-system, and user-system.
  • NCIt: xsd:anyURI is used to denote properties used for "associations", they must be specified in the rdfs:range; however, in annotations on a class, the xsd:anyURI is not respected and associations are represented as rdf:resource.
  • Annotations on a class with the anyURI datatype need to be set "manually" to xsd:anyURI.
  • NCIt: properties with anyURI range:
    • Concept_In_Subset
    • Has_CDRH_Parent
    • Has_Data_Element
    • Has_Free_Acid_Or_Base_Form
    • Has_NICHD_Parent
    • Has_Salt_Form
    • Has_Target
    • Is_Related_To_Endogenous_Product
    • Qualifier_Applies_To
    • Related_To_Genetic_Biomarker
    • Role_Has_Domain
    • Role_Has_Parent
    • Role_Has_Range

Datatypes

Annotations with a restricted rdfs:range (e.g. the term types of synonyms, PT, SY, AB, so on) have as a range user-defined datatypes which define the allowed values. Although not strictly necessary, we are using a naming convention to name those datatypes using the "name" of the annotation property followed by "-enum". The conversion from OWL1 to OWL2 can automatically generate the datatypes for most enumerated properties; it doesn't handle enumerations that were specified in the config file, e.g. def-source {NCI,FDA,CDISC,...}. In NCIt the enumerated properties and their datatypes are:

annotation property datatype enum values
Concept_Status Concept_Status-enum
Contributing_Source Contributing_Source-enum
Def_Curator Def_Curator-enum
Extensible_List Extensible_List-enum
FDA_Table FDA_Table-enum
Neoplastic_Status Neoplastic_Status-enum
Project_Name Project_Name-enum
Publish_Value_Set Publish_Value_Set-enum
Semantic_Type Semantic_Type-enum
TVS_Location TVS_Location-enum
Relationship_to_Target Relationshipt_to_Target-enum* {"Broader Than", "Has Synonym", "Narrower Than", "Related To"}
Target_Term_Type Target_Term_Type-enum* {"LLT", "PT", "SY"}
Target_Terminology Target_Terminology-enum* {"GAIA", "MedDRA"}
def-source def-source-enum* {"ACC", "BIOCARTA", "BRIDG", "CADSR", "CareLex", "CDISC", "CTEP", "CRCH", "CTCAE", "DICOM", "FDA", "GAIA", "ICD03", "KEGG", "NCI", "NCI-GLOSS", "NICHD", "SPL", "CSP2000", "CSP2003", "MMHCC", "MSH2003_2003_05_12", "MSH2001", "MSH2002_06_01"}
go-source go-source-enum* {"NCI", "NCBI", "CGAP"}
term-group term-group-enum* {"AB", "AD", "AQ", "AQS", "BR", "CA2", "CA3", "CN", "CNU", "CS", "DN", "FB", "HD", "LLT", "PT", "SN", "SY"}
term-source term-source-enum* {"ACC", "ANSI", "BIOCARTA", "BRIDG", "CADSR", "CareLex", "CDC", "CDISC", "CRCH", "CTCAE", "CTEP", "CTRM", "DCP", "DICOM", "DTP", "FDA", "GAIA", "GENC", "HGNC", "HL7", "ICH", "JAX", "KEGG", "MTH", "MedDRA", "NCI", "NCI-GLOSS", "NICHD", "NCPDP", "PI-RADS", "PID", "SEER", "UCUM"}

* These enumerations are defined in the OWL1 version of NCIt using a configuration file. They need to be created manually in the OWL2 version after an OWL1->2 conversion.

The table above shows the annotation properties "by name". Eventually in OWL2 we will use codes for the IRI fragment identifiers hence the above will change; however, we will retain the "named" datatypes shown above.

  • annotation property required with datatype xsd:boolean to flag annotation properties used to annotate required property values. The property IRI doesn't need to be "required", but whatever the IRI, it needs to be entered in the metaproject as the value of the key "required" (i.e. two things the key in the metaproject, and the property name - here both use the term "required"). When "required" is asserted on the declaration, that annotation must have a value before the edit is deemed valid and Saved. Optional properties used to annotate annotations do not need to be annotated themselves as required, however, they must still be specified in the metaproject configuration so they are displayed in the GUI tables (section below).

Metaproject key-value pairs needed to configure project

key value required for
classifiable deprecated; whether the pellet server will classify this project, the value is boolean true NA
code_prop the IRI of the annotation property to use for the source's identifier/code edit panel
complex_properties collection of IRIs of qualified properties complex properties
def_source used in business rule to check source is NCI edit panel
default legacy property used as fallback edit panel and property editing
default_on_create_class used in datatype declaration as the default when class is created edit panel and batch edit
default_on_edit_class used in datatype declaration as the default when class is being edited edit panel and batch edit
definition property used for NCI definition sync rule business rules
deprecated_assoc property used to reference properties pointing to other classes that are deleted retirement
deprecated_child property used to referenced child classes of retired class retirement
deprecated_concept_status continas two items, a property to use to annotate a deprecated class, and the value for that property retirement and merge
deprecated_in_assoc property used to reference that pointed into the retired class through some propery retirement
deprecated_in_role property used to reference classes pointing in to retired class through some role retirement
deprecated_parent property used to reference parent class of retired class retirement and merge
deprecated_role property used to reference classes pointed to by retired class through some role retirement
design_note property used to capture date of retirement and notes of interest retirement and merge
editor_note property used to capture date, modeler name, and notes of interest retirement and merge
fully_qualified_syn identifies the property containing a fully qualified term; the value is the property's IRI business rule
immutable_properties IRI of properties that can't be modified on a merge, copy, or split. At the very least, the value of the code_prop key should be immutable edit panel
label_prop the IRI of the display property (e.g. rdfs:label, see above) edit panel
merge_source IRI of property holding the IRI of the first class in a merge - the surviving class merge
merge_target IRI of property holding the IRI of the second class in a merge - the retired class merge
pref_name IRI of property denoting the preferred term of the class business rule
premerged_root root class under which to tree class after merging by modeler that has not yet been approved by manager merge
preretired_root root class under which to tree class after retiring by modeler that has not yet been approved by manager retirement
required applied to the property declaration; the value is the boolean true edit panel
retired_concepts_root the root concept of the retirement bin branch, if it's not the same as the retirement bin, e.g. Retired_Concepts vs Retired_Concepts_Current_Year. navigator
retired_root retired root for current year, under retired_concepts_root retirement
review_date used for DEFINITION and other complex properties edit panel
reviewer_name name of modeler editing DEFINITION edit panel
semantic_type type associates with class, once specified it is inherited edit panel
split_from annotation property on source class used for a split split
syn_source qualifier on full_syn business rule
syn_type qualifier on full_syn business rule

Metaproject key-value pairs needed to configure server

key value comment
authenticate full name of java class performing authentication, values can be:
org.protege.editor.owl.server.security.DefaultLoginService, for authentication by protege server
org.protege.editor.owl.server.security.LDAPLoginService, for authentication by an LDAP server
autoupdate_interval time interval in milliseconds between update calls from the client to the server
codegen_delimiter can be null if no delimiters are used global, can be overriden if specified on the project
codegen_file file keeping track of code numeric values
codegen_prefix the prefix used by the vocabulary's code; can be null global, can be overriden if specified on the project
codegen_suffix can be null if no suffixes are used global, can be overriden if specified on the project
conhistory_file file generated after baseline reconciliation (concept_history)
evshistory_file file where the runtime evs_history is recorded
ldap_dn_prefix ldap distinguished name string preceeding the username
"CN=" in the case of the NIH AD/LDAP
ldap_dn_suffix ldap distinguished name string following the username
",OU\u003dUsers,OU\u003dNCI,OU\u003dNIH,OU\u003dAD,DC\u003dNih,DC\u003dGOV" in the case of NIH AD/LDAP
login_timeout_period value in milliseconds
⚠️ **GitHub.com Fallback** ⚠️