Calls method filterIncomingUnrestrictedInterConceptRelationshipPaths
, adding sub-predicate
isConsecutiveRelationshipPath
to the relationship path predicate.
Calls method filterIncomingUnrestrictedInterConceptRelationshipPaths
, adding sub-predicate
isConsecutiveRelationshipPath
to the relationship path predicate.
Typically this method should be preferred over method filterIncomingUnrestrictedInterConceptRelationshipPaths
.
Filters inter-concept relationships that are incoming to the given concept.
Filters inter-concept relationships of the given type that are incoming to the given concept.
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 method can be useful for finding relationship paths that are not consecutive and therefore not allowed, when we do not yet know that the taxonomy is XBRL-valid.
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.
Calls method filterOutgoingUnrestrictedInterConceptRelationshipPaths
, adding sub-predicate
isConsecutiveRelationshipPath
to the relationship path predicate.
Calls method filterOutgoingUnrestrictedInterConceptRelationshipPaths
, adding sub-predicate
isConsecutiveRelationshipPath
to the relationship path predicate.
Typically this method should be preferred over method filterOutgoingUnrestrictedInterConceptRelationshipPaths
.
Filters inter-concept relationships that are outgoing from the given concept.
Filters inter-concept relationships of the given type that are outgoing from the given concept.
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 method can be useful for finding relationship paths that are not consecutive and therefore not allowed, when we do not yet know that the taxonomy is XBRL-valid.
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.
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 that are incoming to the given concept.
Finds all inter-concept relationships of the given type that are incoming to the given concept.
Finds all inter-concept relationships that are outgoing from 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.