test_class.file: phenol-core/src/test/java/org/monarchinitiative/phenol/ontology/data/RelationshipTypeTest.java
test_class.identifier: RelationshipTypeTest
test_case.body: @Test
    void allowsForUndefinedRelationship() {
      assertEquals(RelationshipType.of("wibble", "thing"), RelationshipType.of("wibble", "thing"));
    }
test_case.class_method_signature: RelationshipTypeTest.allowsForUndefinedRelationship()
test_case.full_signature: @Test void allowsForUndefinedRelationship()
test_case.identifier: allowsForUndefinedRelationship
test_case.invocations: assertEquals of of
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void allowsForUndefinedRelationship()
focal_class.declarator: cache = new ConcurrentHashMap<>()
focal_class.modifier: private static final
focal_class.original_string: private static final Map<String, RelationshipType> cache = new ConcurrentHashMap<>();
focal_class.type: Map<String, RelationshipType>
focal_class.var_name: cache
focal_class.declarator: IS_A = new RelationshipType("is_a", "is_a")
focal_class.modifier: public static final
focal_class.original_string: public static final RelationshipType IS_A = new RelationshipType("is_a", "is_a");
focal_class.type: RelationshipType
focal_class.var_name: IS_A
focal_class.declarator: PART_OF = new RelationshipType("http://purl.obolibrary.org/obo/BFO_0000050","part of")
focal_class.modifier: public static final
focal_class.original_string: public static final RelationshipType PART_OF = new RelationshipType("http://purl.obolibrary.org/obo/BFO_0000050","part of");
focal_class.type: RelationshipType
focal_class.var_name: PART_OF
focal_class.declarator: SUBPROPERTY_OF = new RelationshipType("subPropertyOf", "subPropertyOf")
focal_class.modifier: public static final
focal_class.original_string: public static final RelationshipType SUBPROPERTY_OF = new RelationshipType("subPropertyOf", "subPropertyOf");
focal_class.type: RelationshipType
focal_class.var_name: SUBPROPERTY_OF
focal_class.declarator: HAS_MODIFIER = new RelationshipType("http://purl.obolibrary.org/obo/RO_0002573","hasModifier")
focal_class.modifier: public static final
focal_class.original_string: public static final RelationshipType HAS_MODIFIER = new RelationshipType("http://purl.obolibrary.org/obo/RO_0002573","hasModifier");
focal_class.type: RelationshipType
focal_class.var_name: HAS_MODIFIER
focal_class.declarator: logger = LoggerFactory.getLogger(RelationshipType.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(RelationshipType.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: id
focal_class.modifier: private final
focal_class.original_string: private final String id;
focal_class.type: String
focal_class.var_name: id
focal_class.declarator: label
focal_class.modifier: private final
focal_class.original_string: private final String label;
focal_class.type: String
focal_class.var_name: label
focal_class.file: phenol-core/src/main/java/org/monarchinitiative/phenol/ontology/data/RelationshipType.java
focal_class.identifier: RelationshipType
focal_class.class_method_signature: RelationshipType.RelationshipType(String id, String name)
focal_class.full_signature: private  RelationshipType(String id, String name)
focal_class.identifier: RelationshipType
focal_class.modifiers: private
focal_class.parameters: (String id, String name)
focal_class.signature:  RelationshipType(String id, String name)
focal_class.class_method_signature: RelationshipType.getId()
focal_class.full_signature: public String getId()
focal_class.identifier: getId
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getId()
focal_class.class_method_signature: RelationshipType.getLabel()
focal_class.full_signature: public String getLabel()
focal_class.identifier: getLabel
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getLabel()
focal_class.class_method_signature: RelationshipType.of(String id, String label)
focal_class.full_signature: public static RelationshipType of(String id, String label)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (String id, String label)
focal_class.return: RelationshipType
focal_class.signature: RelationshipType of(String id, String label)
focal_class.class_method_signature: RelationshipType.propagates()
focal_class.full_signature: public boolean propagates()
focal_class.identifier: propagates
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean propagates()
focal_class.class_method_signature: RelationshipType.equals(Object o)
focal_class.full_signature: @Override public boolean equals(Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(Object o)
focal_class.class_method_signature: RelationshipType.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: RelationshipType.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: public static RelationshipType of(String id, String label) {
      switch (id) {
        case "is_a":
          return IS_A;
        case "http://purl.obolibrary.org/obo/BFO_0000050":
        case "part of":
        case "part_of":
          return PART_OF;
  //      case "http://purl.obolibrary.org/obo/BFO_0000051":
  //      case "has part":
  //        return HAS_PART;
  //      case "http://purl.obolibrary.org/obo/RO_0002211":
  //      case "regulates":
  //        return REGULATES;
  //      case "http://purl.obolibrary.org/obo/RO_0002212":
  //      case "negatively regulates":
  //        return NEGATIVELY_REGULATES;
  //      case "http://purl.obolibrary.org/obo/RO_0002213":
  //      case "positively regulates":
  //        return POSITIVELY_REGULATES;
  //      case "http://purl.obolibrary.org/obo/BFO_0000066":
  //      case "occurs in":
  //        return OCCURS_IN;
  //      case "http://purl.obolibrary.org/obo/RO_0002092":
  //      case "happens during":
  //        return HAPPENS_DURING;
  //      case "http://purl.obolibrary.org/obo/RO_0002093":
  //      case "ends during":
  //        return ENDS_DURING;
        case "subPropertyOf":
          return SUBPROPERTY_OF;
  //      case "inverseOf":
  //        return INVERSE_OF;
        case "http://purl.obolibrary.org/obo/RO_0002573":
        case "has modifier":
          return HAS_MODIFIER;
  //      case "http://purl.obolibrary.org/obo/RO_0004022":
  //        return DISEASE_HAS_BASIS_IN_FEATURE;
  //      case "http://purl.obolibrary.org/obo/mondo#disease_shares_features_of":
  //        return DISEASE_SHARES_FEATURES_OF;
  //      case "http://purl.obolibrary.org/obo/RO_0004029":
  //        return DISEASE_HAS_FEATURE;
  //      case "http://purl.obolibrary.org/obo/mondo#disease_has_major_feature":
  //        return DISEASE_HAS_MAJOR_FEATURE;
  //      case "http://purl.obolibrary.org/obo/RO_0004026":
  //        return DISEASE_HAS_LOCATION;
  //      case "http://purl.obolibrary.org/obo/mondo#disease_causes_feature":
  //        return DISEASE_CAUSES_FEATURE;
  //      case "http://purl.obolibrary.org/obo/mondo#part_of_progression_of_disease":
  //        return PART_OF_PROGRESSION_OF_DISEASE;
  //      case "http://purl.obolibrary.org/obo/RO_0004028":
  //        return REALIZED_IN_RESPONSE_TO_STIMULUS;
        default:
          return cache.computeIfAbsent(id, key -> new RelationshipType(id, label));
      }
    }
focal_method.class_method_signature: RelationshipType.of(String id, String label)
focal_method.full_signature: public static RelationshipType of(String id, String label)
focal_method.identifier: of
focal_method.invocations: computeIfAbsent
focal_method.modifiers: public static
focal_method.parameters: (String id, String label)
focal_method.return: RelationshipType
focal_method.signature: RelationshipType of(String id, String label)