org.dishevelled.vocabulary
Interface Concept

All Known Implementing Classes:
SimpleConcept

public interface Concept

A concept is a vocabulary word defined in a domain that has relations to other concepts present in the same domain, and has projections to other concepts in different domains through a mapping across domains.

Version:
$Revision$ $Date$
Author:
Michael Heuer

Method Summary
 int degree()
          Return the degree of this concept, that is the total number of relations, projections, and assignments linked to this concept.
 java.lang.String getAccession()
          Return the accession (an unique identifier) of this concept.
 java.util.Set<Assignment> getAssignments()
          Return the set of assignments for this concept.
 java.lang.String getDefinition()
          Return the definition of this concept.
 Domain getDomain()
          Return the domain of this concept.
 java.lang.String getName()
          Return the name of this concept.
 java.util.Set<Projection> getProjections()
          Return the set of all projections for this concept.
 java.util.Set<Relation> getRelations()
          Return the set of all relations for this concept.
 java.util.Set<Projection> inProjections()
          Return the set of in projections for this concept, that is those projections that have this concept as the target.
 java.util.Set<Relation> inRelations()
          Return the set of in relations for this concept, that is those relations that have this concept as the target.
 java.util.Set<Projection> outProjections()
          Return the set of out projections for this concept, that is those projections that have this concept as the source.
 java.util.Set<Relation> outRelations()
          Return the set of out relations for this concept, that is those relations that have this concept as the source.
 

Method Detail

getName

java.lang.String getName()
Return the name of this concept.

Returns:
the name

getAccession

java.lang.String getAccession()
Return the accession (an unique identifier) of this concept.

Returns:
the accession

getDefinition

java.lang.String getDefinition()
Return the definition of this concept.

Returns:
the definition

degree

int degree()
Return the degree of this concept, that is the total number of relations, projections, and assignments linked to this concept. The degree must be >= 0.

Returns:
the degree

inRelations

java.util.Set<Relation> inRelations()
Return the set of in relations for this concept, that is those relations that have this concept as the target. The set must not be null, but may be empty.

Returns:
the set of in relations

outRelations

java.util.Set<Relation> outRelations()
Return the set of out relations for this concept, that is those relations that have this concept as the source. The set must not be null, but may be empty.

Returns:
the set of out relations

getRelations

java.util.Set<Relation> getRelations()
Return the set of all relations for this concept. The set must not be null, but may be empty.

Returns:
the set of all relations

inProjections

java.util.Set<Projection> inProjections()
Return the set of in projections for this concept, that is those projections that have this concept as the target. The set must not be null, but may be empty.

Returns:
the set of in projections

outProjections

java.util.Set<Projection> outProjections()
Return the set of out projections for this concept, that is those projections that have this concept as the source. The set must not be null, but may be empty.

Returns:
the set of out projections

getProjections

java.util.Set<Projection> getProjections()
Return the set of all projections for this concept. The set must not be null, but may be empty.

Returns:
the set of all projections

getAssignments

java.util.Set<Assignment> getAssignments()
Return the set of assignments for this concept. The set must not be null, but may be empty.

Returns:
the set of assignments

getDomain

Domain getDomain()
Return the domain of this concept. The domain must not be null.

Returns:
the domain


Copyright (c) 2002-2004 held jointly by the individual authors. Licensed under the GNU Lesser General Public License (LGPL).