package tr.com.srdc.mdr.core.model.iso11179; import java.util.List; import tr.com.srdc.mdr.core.api.ai.ConceptRelationship; import tr.com.srdc.mdr.core.model.MDRException; import tr.com.srdc.mdr.core.model.Vocabulary; /** * * An Object Class is a set of ideas, abstractions, or things in the real world * that can be identified with explicit boundaries and meaning and whose * properties and behavior follow the same rules. It may be either a single or a * group of associated concepts, abstractions, or things. An Object Class may be * a single unit of thought (i.e., Concept) or a set of Concepts in a * relationship with each other to form a more complex concept (i.e., Concept * Relationship). A Concept and a Concept Relationship are subtypes of an Object * Class. * * @author anil * */ public interface ConceptRelationshipResource extends ObjectClassResource, ConceptRelationship { /** * Set the concept relationship type description of this * {@link ObjectClassResource} * * @param conceptRelationshipTypeDescription * <br> * A description of the type of relationship among two or more * Concepts */ void setConceptRelationshipTypeDescription( String conceptRelationshipTypeDescription); /** * * @return the concept relationship type description of a * {@link ObjectClassResource}.<br> */ String getConceptRelationshipTypeDescription(); /** * Adds {@link Vocabulary#usingConceptRelationship} property with given * value * * @param usingConceptRelationship */ void addUsingConceptRelationship(ConceptResource usingConceptRelationship); /** * Removes {@link Vocabulary#usingConceptRelationship} property with given * value * * @param usingConceptRelationship */ void removeUsingConceptRelationship(ConceptResource usingConceptRelationship); /** * * @return {@link List} of all {@link Vocabulary#usingConceptRelationship} * property values * @throws MDRException */ List<ConceptResource> getUsingConceptRelationships() throws MDRException; }