001package org.biopax.paxtools.model.level3;
002
003
004/**
005 * <b>Definition</b>: An xref that defines a reference to an entity in an external resource that
006 * does not have the same biological identity as the referring entity.
007 *
008 * <b>Usage</b>: There is currently no controlled vocabulary of relationship types for BioPAX,
009 * although one will be created in the future if a need develops.
010 *
011 * <b>Examples</b>: A link between a gene G in a BioPAX data collection, and the protein product P
012 * of that gene in an external database. This is not a unification xref because G and P are
013 * different biological entities (one is a gene and one is a protein). Another example is a
014 * relationship xref for a protein that refers to the Gene Ontology biological process, e.g. 'immune
015 * response,' that the protein is involved in.
016 */
017public interface RelationshipXref extends Xref
018{
019
020        /**
021         * <b>Definition:</b>A controlled vocabulary term that defines the type of relationship that this xref defines.
022         *
023         * <b>Usage</b>: There is currently no controlled vocabulary of relationship types for BioPAX,
024         * although one will be created in the future as the usage of this property increases.
025         *
026         * @return The type of relationship
027         */
028        RelationshipTypeVocabulary getRelationshipType();
029
030        /**
031         * <b>Definition:</b>A controlled vocabulary term that defines the type of relationship that this xref defines.
032         *
033         * <b>Usage</b>: There is currently no controlled vocabulary of relationship types for BioPAX,
034         * although one will be created in the future as the usage of this property increases.
035         *
036         * @param relationshipType The type of relationship that this xref defines
037         */
038        void setRelationshipType(RelationshipTypeVocabulary relationshipType);
039}