/// <summary> /// Возвращает коллекцию узлов, которые исходят по определенной связи из всех нижележащих узов по определенной вложенной исходящей связи. /// </summary> /// <param name="node">Узел</param> /// <param name="firstRelationNameFrom">Наименование вложенной исходящей связи.</param> /// <param name="secondRelationNameFrom">Наименование исходящей связи.</param> /// <returns>Коллекция узлов.</returns> public static IReadOnlyNodeCollection FromNestedFrom(this IReadOnlyNode node, string firstRelationNameFrom, string secondRelationNameFrom) { return(new NodeCollection(node.FromNested(firstRelationNameFrom).SelectMany(x => x.From(secondRelationNameFrom)))); }
/// <summary> /// Возвращает коллекцию узлов, которые входят по определенной связи из всех нижележащих узов по определенной вложенной исходящей связи. /// </summary> /// <param name="node">Узел</param> /// <param name="relationNameFrom">Наименование вложенной исходящей связи.</param> /// <param name="relationNameTo">Наименование входящей связи.</param> /// <returns>Коллекция узлов.</returns> public static IReadOnlyNodeCollection FromNestedTo(this IReadOnlyNode node, string relationNameFrom, string relationNameTo) { return(new NodeCollection(node.FromNested(relationNameFrom).SelectMany(x => x.To(relationNameTo)))); }
/// <summary> /// Возвращает коллекцию узлов, которые вложенно исходят по связи <see cref="Relations.IsA"/>. /// </summary> /// <param name="node">Узел</param> /// <returns>Коллекция узлов.</returns> public static IReadOnlyNodeCollection FromIsANested(this IReadOnlyNode node) { return(node.FromNested(Relations.IsA)); }