Calls method filterIncomingInterConceptRelationshipPaths
, adding sub-predicate
isConsecutiveRelationshipPath
to the relationship path predicate.
Calls method filterIncomingInterConceptRelationshipPaths
, adding sub-predicate
isConsecutiveRelationshipPath
to the relationship path predicate.
Typically this method should be preferred over method filterIncomingInterConceptRelationshipPaths
.
Filters the inter-concept relationship paths that are incoming to the given concept and whose relationships are of the given type.
Filters the inter-concept 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.
This is a very general method that is used to implement specific methods in more specific
relationship query API traits. Typically prefer method filterIncomingConsecutiveInterConceptRelationshipPaths
instead.
Filters inter-concept relationships of the given type that are incoming to the given concept.
Calls method filterOutgoingInterConceptRelationshipPaths
, adding sub-predicate
isConsecutiveRelationshipPath
to the relationship path predicate.
Calls method filterOutgoingInterConceptRelationshipPaths
, adding sub-predicate
isConsecutiveRelationshipPath
to the relationship path predicate.
Typically this method should be preferred over method filterOutgoingInterConceptRelationshipPaths
.
Filters the inter-concept relationship paths that are outgoing from the given concept and whose relationships are of the given type.
Filters the inter-concept 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.
This is a very general method that is used to implement specific methods in more specific
relationship query API traits. Typically prefer method filterOutgoingConsecutiveInterConceptRelationshipPaths
instead.
Filters inter-concept relationships of the given type that are outgoing from the given concept.
Finds all "following" ("consecutive") inter-concept relationships of the given result type.
Finds all "following" ("consecutive") inter-concept relationships of the given result type.
Two relationships "follow" each other if method InterConceptRelationship.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:
filterOutgoingInterConceptRelationshipsOfType(relationship.targetConceptEName, resultRelationshipType) { rel =>
relationship.isFollowedBy(rel)
}
Finds all inter-concept relationships of the given type that are incoming to the given concept.
Finds all inter-concept relationships of the given type that are outgoing from the given concept.
Purely abstract trait offering an 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.