예제 #1
0
  private void convertToFunctionalOrInverseFunctionalProperty(
      HashMap<String, HashMap<String, HashMap<String, Integer>>> objectProperts,
      boolean isCompositionRelations) {
    Set<String> keysPropertys = objectProperts.keySet();
    for (String keyProperty : keysPropertys) {
      ObjectProperty objectProperty =
          this.jena.createObjectProperty(this.ontologyPrefix + keyProperty, false);

      boolean sideAFunctional = this.convertObjectPropertyToFunctional(keyProperty, objectProperts);

      if (sideAFunctional) objectProperty.convertToFunctionalProperty();

      if (isCompositionRelations) {
        String nameInverseProperty = this.mobi.getInversePropertyName(keyProperty);

        if (nameInverseProperty != null
            && this.convertObjectPropertyToFunctional(nameInverseProperty, objectProperts))
          objectProperty.convertToInverseFunctionalProperty();
      } else {
        if (sideAFunctional) objectProperty.convertToInverseFunctionalProperty();
      }
    }
  }