StandardInterConceptRelationshipContainerApi

Purely abstract trait offering a standard inter-concept relationship query API.

Purely abstract trait offering a standard inter-concept relationship query API.

Implementations should make sure that looking up relationships by source (or target) EName is fast.

Implementations may be strict or lenient in enforced requirements on the relationship container.

For some of the graph theory terms used, see http://artint.info/html/ArtInt_50.html.

Authors

Chris de Vreeze

class Object
trait Matchable
class Any

Value members

Abstract methods

def filterIncomingConsecutiveStandardInterConceptRelationshipPaths[A <: StandardInterConceptRelationship](targetConcept: EName, relationshipType: ClassTag[A])(p: ConsecutiveRelationshipPath[A] => Boolean): IndexedSeq[ConsecutiveRelationshipPath[A]]

Filters the consecutive relationship paths that are incoming to the given concept and whose relationships are of the given type. Only relationship paths for which all (non-empty) "tails" pass the predicate are accepted by the filter! The relationship paths are as long as possible, but on encountering a cycle in a path it stops growing beyond a certain path length.

Filters the consecutive relationship paths that are incoming to the given concept and whose relationships are of the given type. Only relationship paths for which all (non-empty) "tails" pass the predicate are accepted by the filter! The relationship paths are as long as possible, but on encountering a cycle in a path it stops growing beyond a certain path length.

Filters standard inter-concept relationships that are incoming to the given concept.

Filters standard inter-concept relationships that are incoming to the given concept.

def filterIncomingStandardInterConceptRelationshipsOfType[A <: StandardInterConceptRelationship](targetConcept: EName, relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]

Filters standard inter-concept relationships of the given type that are incoming to the given concept.

Filters standard inter-concept relationships of the given type that are incoming to the given concept.

def filterOutgoingConsecutiveStandardInterConceptRelationshipPaths[A <: StandardInterConceptRelationship](sourceConcept: EName, relationshipType: ClassTag[A])(p: ConsecutiveRelationshipPath[A] => Boolean): IndexedSeq[ConsecutiveRelationshipPath[A]]

Filters the consecutive relationship paths that are outgoing from the given concept and whose relationships are of the given type. Only relationship paths for which all (non-empty) "inits" pass the predicate are accepted by the filter! The relationship paths are as long as possible, but on encountering a cycle in a path it stops growing beyond a certain path length.

Filters the consecutive relationship paths that are outgoing from the given concept and whose relationships are of the given type. Only relationship paths for which all (non-empty) "inits" pass the predicate are accepted by the filter! The relationship paths are as long as possible, but on encountering a cycle in a path it stops growing beyond a certain path length.

Filters standard inter-concept relationships that are outgoing from the given concept.

Filters standard inter-concept relationships that are outgoing from the given concept.

def filterOutgoingStandardInterConceptRelationshipsOfType[A <: StandardInterConceptRelationship](sourceConcept: EName, relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]

Filters standard inter-concept relationships of the given type that are outgoing from the given concept.

Filters standard inter-concept relationships of the given type that are outgoing from the given concept.

def filterStandardInterConceptRelationshipsOfType[A <: StandardInterConceptRelationship](relationshipType: ClassTag[A])(p: A => Boolean): IndexedSeq[A]

Finds all "consecutive" standard inter-concept relationships.

Finds all "consecutive" standard inter-concept relationships.

Two relationships "follow" each other if method StandardInterConceptRelationship.isFollowedBy says so.

Note that for non-dimensional relationships this implies that the parameter and result relationship types must be the same, or else no relationships are returned.

This method is shorthand for:

filterOutgoingStandardInterConceptRelationships(relationship.targetConceptEName) { rel =>
 relationship.isFollowedBy(rel)
}

Finds all "consecutive" standard inter-concept relationships of the given result type.

Finds all "consecutive" standard inter-concept relationships of the given result type.

Two relationships "follow" each other if method StandardInterConceptRelationship.isFollowedBy says so.

Note that for non-dimensional relationships this implies that the parameter and result relationship types must be the same, or else no relationships are returned.

This method is shorthand for:

filterOutgoingStandardInterConceptRelationshipsOfType(relationship.targetConceptEName, resultRelationshipType) { rel =>
 relationship.isFollowedBy(rel)
}

Finds all standard inter-concept relationships that are incoming to the given concept.

Finds all standard inter-concept relationships that are incoming to the given concept.

def findAllIncomingStandardInterConceptRelationshipsOfType[A <: StandardInterConceptRelationship](targetConcept: EName, relationshipType: ClassTag[A]): IndexedSeq[A]

Finds all standard inter-concept relationships of the given type that are incoming to the given concept.

Finds all standard inter-concept relationships of the given type that are incoming to the given concept.

Finds all standard inter-concept relationships that are outgoing from the given concept.

Finds all standard inter-concept relationships that are outgoing from the given concept.

def findAllOutgoingStandardInterConceptRelationshipsOfType[A <: StandardInterConceptRelationship](sourceConcept: EName, relationshipType: ClassTag[A]): IndexedSeq[A]

Finds all standard inter-concept relationships of the given type that are outgoing from the given concept.

Finds all standard inter-concept relationships of the given type that are outgoing from the given concept.

def findAllStandardInterConceptRelationshipsOfType[A <: StandardInterConceptRelationship](relationshipType: ClassTag[A]): IndexedSeq[A]