GraphStream Users

Archives de la liste Aide


Re: Create graph with multiple links between two nodes from dot file


Chronologique Discussions 
  • From: Sumner <mag.ds AT live.com>
  • To: graphstream-users AT litislab.fr, Chris Saltmarsh <indy.maturin AT gmail.com>
  • Subject: Re: Create graph with multiple links between two nodes from dot file
  • Date: Wed, 23 Feb 2022 12:20:34 -0500
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bnilDJHaiEgDthzGRoX8aF+1DjdiuHBq2t4OxYbAb38=; b=T9MGSwydwVXorqrULovpymVAz6Ji7liq6k5+MiG9mBXCRBod9mIQTERSw1eHaEPmy6IDSdebDMzJzXZxD9rzOFqx/wjXD0YNdgBzTIOV9kA+gNz0RrQf7pRYsaRvdc+f3DfBVsNa4i9qGpETxnNfAALrE+tsO25sa+iRtoQTs2HIeT9o8Q6Wmi+G/C72Q5HE9Nu+HqG2anIHHTvaOTX3jNqdJGcaZvruAxFroYGtxZffcFt2dNvhiNDhrhacFwlzzN6CzpqNo68Z20a6NdxDkpYv8XBpiSz1AMw8BfebojMejWX38XVON0dPYCZfGi59Xnmhp8U2LO7FlZE6HkeiRw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AvpMj9jP2p8AV5zpa3etn6nZfbvSnJqW1k1G5peBsuGs+1z2SY93LHiaWqGxWGwW01MmXQMs+LIe2WZI8FHwMaDP0b9MsoF8s7fXDCfqH+jP5z5iMj0ha6ZOgzoqD/fkpKKM36RnYZY7s+TMW0YA4qFOwnoNrXw4obfrXucQPRsdfxvsr6U42R33Z+CZswG+/9YwuMzI6OeQDRiKC4OSDURbrNIf2r163IbG3UAcuXzHmkvUa3An01GCllZWplHcyejhkBzAXfisG2Xkq4IWvVrhXWv3FwUHsw5XG6W3WY9/gvsIKWvXWoVYHRR8FqaE9DG1dQp/IK0pTlPhAwRbWw==
  • Authentication-results: a-mx1.relay.syrhano.net; spf=Pass smtp.mailfrom=mag.ds AT live.com; spf=Pass smtp.helo=postmaster AT NAM11-DM6-obe.outbound.protection.outlook.com
  • Ironport-data: A9a23:CGWJtaPMmILEE8zvrR20lsFynXyQoLVcMsEvi /4bfWQNrUpwgjcGymAYXDrVO/bZZmqkeY9zad7i8EMCuJHVzt9qQAZtpSBmQ lt08seUXt7xwmUckM+xwmwvdK/QhiknQoGowPscEzmM9n9BDpC79SMmjfvSH eKmYAL5EnkZqTFMGX9JZS1LwbNRbr5A2bBVMivV0T/Ai5S31GyNgVaYBlkpB 5er83uDihhdVAQw5TTSbdgT1LPXeuJ84Jg3fcldJFOgKmVY83LTegrN8F251 juxExYFLPqAy+++XmhUB7nYME6Jl2ZcXLWkjl5avCsu360nNf0aL0BKlzGOm NM3w9JI3XCyYVtxePyW3r1MFUUIe819FfUuFLvvJHGw98CI50nHbXaqyPJrZ K0zFdFHobgsUTERnRAfAGtUNUvc7w6s+5q0UOB0ht8/NsTiOcYCoXx61hndD OonWpTKSePE/7dlMJ0YkpgbRrCDc5NMMXw3eE6VO1sUZgxIHMlrxKH1kiaqW iN+g1ezjrYRz2j37QVX6rjJCsHzQMKued1zoly+sjueqjy9WgVy2Me3zDOE9 jegg7HJlCaiAYUWF7virqI6xlqO2mYUFRsaE0OhpuW0gVK/XNQZLFEI/i0pr u4580nDczU0ZDXgyFbsg/LWc4A4/ywGBACxJm78xS+8XzFBYhsfLdssuYkxW CAg0UKPk5XxHztzvbaJSHWbsLCJsTe1PitTJmgHDcPBZRVQ+MHt+enfkTqWJ uuP0obt5jE2Jd006zSLsiV4jLIW5SLO/7vu5kjJ2lpAubCQJjMICt3rY1+Y
  • Ironport-hdrordr: A9a23:KwaC6axGnGgMzDKx1/d/KrPxD+skLtp133 Aq2lEZdPULSKGlfpGV9sjziyWetN9xYhEdcLW7VJVoLkmsl6KdjbNxAV7mZn iAhILKFvAf0WKB+UyHJ8SWzIc0usldmupFebjN5DBB/LzHCWKDYrUdKbe8gc SVbbC09QYXcShaL4VbqytpAAeSFUN7ACFAGJoCDZKZou5KvSCpd3g7ZtmyQi BtZZm2m/T70LbdJTIWDR8u7weDyRuu9b7BChCdmjMTSSlGz7sO+XXM1yb5+q KgmfemzQK07R6n071m3P/ajvdTDs2FjcYYbh/2jByzWYhnU7qe+BgoveCG8j 8R4ZHxiiZlG/42x2Laf2mzrxeo8RLnyiwS53jrzkLdqWf/oPb+WCkxB6N69M tkmyPimgAdVexHoe92NiOixuxq5Cr77W/AD5WhbWAnqqLcykBS7tL7wUYvHr f2U4Uh3LD3zHklbqvoIxiKmLzPaNMedf00xMwmAm9yPEqpzFWGrrGXLwkO91 G9Mz8/UhP+6UkvoExE
  • Ironport-phdr: A9a23:smKewhCjIovKZjGs9skOUyQUnUQY04WdBeZ0w pNijqIXNL6u+53zelfO//VkiliPW4jHuLpfk+SDi6n7QiQb5IqZ9nULcZhCT RgA3MAfkEosG+aBCFP2avXtan9yB9xMAWds5GrzKk1JAID+alnV92W19iIXE w7jOBBdAM3QQ9eXo+Hpkue49tvUfhlCgye7bfVqNhKqoA7Nt84Qx4x/NqI2z RiPqXxNEwhP7VthPknb3x+549fpuoRu9y1B/ekw7c5JV6K8eakkH/RUCzEvM mZ948OO11GLSAKAoHcHemEXjBcOCA/ApB33RZb+tCLmu/E1hHHcbJewFOFyB WTq5rwjUBLyjSYbKzM1uHrajMB9luM+wlrpphByxZLVfJDAMfN/eq3HetZJD WFFX8tXS2lAGtbgN81eVaxYbKAE/9qYxRNGtxa1CAiyCfm6w3pNliawx6A+2 vVnChDc3AUmGJQIvWiHybe9fKoUT+2xy7HFiDvZaPYDkzL0587EaTgloO+BG 7l3dICCgVlqDA7DgliK/MbgNjzT2v8lt2mF4qxrUufl2AtF40lh5zOowMkrk IzAgIkYn0vc+xJ+xoIkdpWoDVR2atm+HN5MpjmXYsFoF9g6TTgi60NYgvUW/ IS2dy8QxNE7yg7DPraZJpOQ7EurVf7Nc2sgwiM/Pur531HrrQCh0rOuDMDsi QQT93MXnIWU7iJfkECDj6rPAu10+kPrsdqW/zja8foMYUlxkLqCbYQsxrch0 IECq0TKGCiwnkjq3ueacUAt++7g7OqCAP2uvpiHK4p9kR3zKIwIs+nmWKEUF 1ZLWGKWv+OhyLfk4Ev1Bq1QieE7mbXYt5acItkHoqm+AEle1YNGiV73Azq90 dselGUKNxoZIFTW1c6waheScLjxFr+njk6pkSt3yvyOJbDnDpjXbzDCnLrnY bdh+htcxQ40nrU9r9pfDrAMJu62W1ek6ISeX0V/al3yn7a0QM9w3Y4fR2+VV 6bcNbOL90WF4us+ZfKdfo8cvjG7LfU5tJuMxTc0n0EQea6x0N4Zcne9S75jK krfbWHEhtYfHCEBuQ90H4mIwBWSFCVeYXq/Rfd2/jYgFIevFpvOXKiLqZnYh WKXO8MTYWpLTFeRDX3vaoOIHe8Wbz6fKdNglTpCUqW9T4gm1lelswqwmN8FZ qLEvyYfs5zkzt184ebewAoq+wtzCcCMgCmdCnt5lWQSS3oqzbhy9AZjn0yb3 /Ey0Jk6XZRDoulEWQAgOdvAwvxmXprsDxnZcI7BSU76EIn+R2BrCIp3m5hXP g58A4nw0kiFhnL1RedTz/vSWvlWuurdxySjepw7ki6ekvFn1x5/HoNOLTH03 /YjsVSMQdaPywLAyO6rbfpOhieVrTXalDPcsh0ACFwiFvmVOBJXLkrO84aj7 xubHeb3UOYpblMam5zFdvsCa9viiUhKSaX4INrSJXqrnHu9DgqJwbXKa5f2f 2Ia32PWD01h8UhbuH+CMUJW7siJp2PAAXplEle9OisEEMFYgVbiFwoY6l/Pa Edskb2o5hQSmPqQDesJ2a4JszsgrDMyG0uh29XRCJyLoA8zJc1h
  • Ironport-sdr: xs/AkLtCffmRAsLsFPNCg3WxkP5I6wFeu5gUfPmxoxuZK/Hx2kOj7WihSdO21Re5U6QBq1dC22 hxiUzzuNci9Snm0X6IRwT841T5by7Lv+Q=

How can I get off this mailing list?

On Feb 23, 2022, at 12:05 PM, Chris Saltmarsh <indy.maturin AT gmail.com> wrote:

I had a similar thing - translating from a sort of xml which describes PetriNet graphs and thence to a more compressed json equivalent.

<xmlIsNotReallyForHumanBeingsAsItsTooVerbose>true</xmlIsNotReallyForHumanBeingsAsItsTooVerbose>
I did the json parser in java, anyway, so went direct to GraphStream rather than through DGS. Works a treat.

Chris Saltmarsh


On Wed, 23 Feb 2022 at 11:35, Yoann Pigné <yoann.pigne AT gmail.com> wrote:
Hi, 

Short answer : the DOT reader in GraphStream kind of only supports single graphs. 

There is no simple solution to the problem other than a rework of the DOT parser in GS. 

Can I suggest you use a file format where GS can safely handle multigraphs like the DGS :

*********
DGS004
example 2 2
an a
an b 
ae e1 a > b
ae e2 a > b 
*********


Sincerely,

Yoann 

Le 23 févr. 2022 à 09:23, LAVELLE Sylvain <sylvain.lavelle AT akka.eu> a écrit :

Hello graphstream users,
 
I have a question for the community. Here is my issue:
 
I need to create a directed graph object from a dot file. This works, but when there are two edges from one node to the same node, only one edge is created in the graph.
I am not sure if I am using the graphstream library correctly, or if the dot file is incorrect.
 
Graphstream version: 2.0
gs-core-2.0.jar
 
 
Here is an example of dot file:
*************
digraph G {
1->2;
1->2;
}
***********
From what I read of dot specification, this is valid (and some visualization tools like graphviz will draw two nodes with to edges from 1 to 2)
 
To create the graph, I use the following java code:
import org.graphstream.graph.Edge;
import org.graphstream.graph.implementations.MultiGraph;
import org.graphstream.stream.file.FileSource;
import org.graphstream.stream.file.FileSourceFactory;
/* ….  */
MultiGraph g = new MultiGraph("g",false, true); // graph id, strictChecking, autoCreate
FileSource fs = FileSourceFactory.sourceFor(filePath);
fs.addSink(g);

try {
    fs.readAll(filePath);
} catch( IOException e) {
    e.printStackTrace();
} finally {
    fs.removeSink(g);
}
//check how many connections:
System.out.println("number of edges: "+g.edges().count());
// print out: number of edges: 1
****************************
There is nothing special in the code, it is almost what is shown in the tutorial (https://graphstream-project.org/doc/Tutorials/Reading-files-using-FileSource/)
 
Can someone tell me what I should modify? Is it the graph creation? Using another type of graph or other parameters?
Should I modify the dot file?
 
Have a nice day,
Sylvain LAVELLE
Engineer


<image001.png>
7, boulevard Henri Ziegler — 31700 Blagnac — France
sylvain.lavelle AT akka.eu
www.akka-technologies.com





Archives gérées par MHonArc 2.6.16.

Top of page