• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • CPACK
    • Home
    • List packs
    • Submit pack
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
    • SWISH Prolog shell
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

A.61 library(ugraphs): Graph manipulation library
All Application Manual Name SummaryHelp

  • Documentation
    • Reference manual
      • The SWI-Prolog library
        • library(ugraphs): Graph manipulation library
          • vertices/2
          • vertices_edges_to_ugraph/3
          • add_vertices/3
          • del_vertices/3
          • add_edges/3
          • ugraph_union/3
          • del_edges/3
          • edges/2
          • transitive_closure/2
          • transpose_ugraph/2
          • compose/3
          • ugraph_layers/2
          • top_sort/2
          • neighbors/3
          • neighbours/3
          • connect_ugraph/3
          • complement/2
          • reachable/3
    • Packages
Availability::- use_module(library(ugraphs)).(can be autoloaded)
Source[det]connect_ugraph(+UGraphIn, -Start, -UGraphOut)
Adds Start as an additional vertex that is connected to all vertices in UGraphIn. This can be used to create an topological sort for a not connected graph. Start is before any vertex in UGraphIn in the standard order of terms. No vertex in UGraphIn can be a variable.

Can be used to order a not-connected graph as follows:

top_sort_unconnected(Graph, Vertices) :-
    (   top_sort(Graph, Vertices)
    ->  true
    ;   connect_ugraph(Graph, Start, Connected),
        top_sort(Connected, Ordered0),
        Ordered0 = [Start|Vertices]
    ).
ClioPatria (version V3.1.1-51-ga0b30a5)