class Aspen::Renderers::GexfRenderer
Public Instance Methods
nodes()
click to toggle source
# File lib/aspen/renderers/gexf_renderer.rb, line 21 def nodes statements.flat_map(&:nodes).map do |node| attrs = node.attributes.map do |k, v| "#{k}=\"#{v}\"" end.join(" ") <<~GEXF <node id="#{node.nickname}" label="#{node.label}" #{attrs}> GEXF end end
relationships()
click to toggle source
# File lib/aspen/renderers/gexf_renderer.rb, line 32 def relationships # @todo: Add in Custom Statements statements.map.with_index do |st, id| if st.is_a? Aspen::CustomStatement next # NO OP else <<~GEXF <edge id="#{id}" source="#{st.origin.nickname}" target="#{st.target.nickname}" label="#{st.edge.label}"> GEXF end end.compact end
render()
click to toggle source
# File lib/aspen/renderers/gexf_renderer.rb, line 5 def render joiner = "\n " <<~GEXF <gexf xmlns="http://www.gexf.net/1.2draft" version="1.2"> <graph mode="static" defaultedgetype="directed"> <nodes> #{nodes.map(&:strip).join(joiner)} </nodes> <edges> #{relationships.map(&:strip).join(joiner)} </edges> </graph> </gexf> GEXF end