8 Replies Latest reply on Mar 12, 2018 4:00 PM by alwu-Oracle

    oracle property graph cytoscape plugin doesn't run in my system

    3661413

      I have downloaded oracle property graph cytoscape plugin and followed the instructions in the document provided by this plugin in the zip file. I copy the propertyGraphSupportRDBMS.jar to the "~\CytoscapeConfiguration\3\apps\installed" folder and also copied propertyGraph.properties in "CytoscapeConfiguration" as mentioned in the supporting document. After changing the propertyGraph.properties file based on my RDBMS database. To start the execution of the Cytoscape App, in the cmd I go to the Cytoscape installation folder and type startCytoscape.bat, the cytoscape progress bar proceeds and shows that it has been started, while in the cmd I get some errors

      log4j:ERROR A"org.apache.log4j.ConsoleAppender" object is not assignable to a "org.log4j.Appender"

      log4j:ERROR Could not instantiate appender named "A1"

       

      And I get no action from cytoscape! I don't know what should I do for using cytoscape. Also I don't know if the errors are important and how can I fix them.
      Please help

        • 1. Re: oracle property graph cytoscape plugin doesn't run in my system
          alwu-Oracle

          Hi,

           

          Sounds like you did the right configuration. Are you using Oracle JDK 8? Note that those LOG4J ERROR messages at the very beginning can be safely ignored.

           

          This is screenshot of what I see after kicking off the bat script. Note that there are quite a few new property graph related icons right below the menu.

          9pojdwsy.bmp

           

          Thanks,

           

          Zhe Wu

          • 2. Re: oracle property graph cytoscape plugin doesn't run in my system
            3661413

            Thanks for your reply.

            Yes I use jdk 8.


            I changed my cytoscape version to 3.2.0 and tried again. In this version, I also see the log4j errors but the cytoscape page was displayed and I loadded the graph from database. but some of the algorithms like shortest path didn't work on the graph and some errors were thrown in the cmd page.

            Unfortunately, I couldn't see my desired results from the cytoscape ...

             

             

             

            Please Help

            • 3. Re: oracle property graph cytoscape plugin doesn't run in my system
              alwu-Oracle

              I am glad that you can see the PG functions.

               

              A few things to check:

              1) did you start PGX server? A script (start-server.bat) can be used.

              2) did you highlight two vertices and then run shortest path?

               

              Please feel free to copy & paste the error messages.

               

              Thanks,

               

              Zhe Wu

              • 4. Re: oracle property graph cytoscape plugin doesn't run in my system
                3661413

                Thanks a lot.

                 

                Those two points are ok.

                I noticed that the origin of the exceptions is this error:

                 

                SwingWorker-pool-9-thread-8 ERROR [PGLOGGER] - getShortestPath()

                java.util.concurrent.ExecutionException: java.lang.Exception: detected invalid configuration fields [attributes] (through reference chain: oracle.pgx.common.pojo.CreateGraphRequest["graphConfig"])

                        at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)

                        at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1887)

                        at oracle.pgx.api.PgxFuture.get(PgxFuture.java:86)

                        at oracle.pgx.api.PgxSession.readGraphWithProperties(PgxSession.java:1562)

                        at oracle.spatial.propertyGraph.client.visualization.cytoscape.util.PGXUtilities.getShortestPath(PGXUtilities.java:1463)

                        at oracle.spatial.propertyGraph.client.visualization.cytoscape.gui.PGShortestPath.searchPath(PGShortestPath.java:784)

                        at oracle.spatial.propertyGraph.client.visualization.cytoscape.gui.PGShortestPath.access$700(PGShortestPath.java:125)

                        at oracle.spatial.propertyGraph.client.visualization.cytoscape.gui.PGShortestPath$DoDijkstraShortestPath.doInBackground(PGShortestPath.java:1273)

                        at oracle.spatial.propertyGraph.client.visualization.cytoscape.gui.PGShortestPath$DoDijkstraShortestPath.doInBackground(PGShortestPath.java:1225)

                        at javax.swing.SwingWorker$1.call(SwingWorker.java:295)

                        at java.util.concurrent.FutureTask.run(FutureTask.java:266)

                        at javax.swing.SwingWorker.run(SwingWorker.java:334)

                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

                        at java.lang.Thread.run(Thread.java:745)

                Caused by: java.lang.Exception: detected invalid configuration fields [attributes] (through reference chain: oracle.pgx.common.pojo.CreateGraphRequest["graphConfig"])

                        at oracle.pgx.common.marshalers.ExceptionMarshaler.toUnserializedException(ExceptionMarshaler.java:83)

                        at oracle.pgx.common.marshalers.ExceptionMarshaler.unmarshal(ExceptionMarshaler.java:96)

                        at oracle.pgx.client.RemoteUtils.parseExceptionalResponse(RemoteUtils.java:118)

                        at oracle.pgx.client.RemoteUtils.getResponseContent(RemoteUtils.java:83)

                        at oracle.pgx.client.RemoteUtils.parse(RemoteUtils.java:141)

                        at oracle.pgx.client.RemoteUtils.post(RemoteUtils.java:193)

                        at oracle.pgx.client.RemoteCoreImpl$4.request(RemoteCoreImpl.java:495)

                        at oracle.pgx.client.RemoteCoreImpl$CoreRequest.request(RemoteCoreImpl.java:254)

                        at oracle.pgx.client.RemoteCoreImpl$CoreRequest.request(RemoteCoreImpl.java:245)

                        at oracle.pgx.client.AbstractFutureRequest.execute(AbstractFutureRequest.java:42)

                        at oracle.pgx.client.RemoteCoreImpl.request(RemoteCoreImpl.java:238)

                        at oracle.pgx.client.RemoteCoreImpl.loadGraphWithProperties(RemoteCoreImpl.java:487)

                        at oracle.pgx.api.PgxSession.readGraphWithPropertiesAsync(PgxSession.java:779)

                        at oracle.pgx.api.PgxSession.readGraphWithPropertiesAsync(PgxSession.java:740)

                        at oracle.pgx.api.PgxSession.readGraphWithPropertiesAsync(PgxSession.java:721)

                        ... 12 more

                SwingWorker-pool-9-thread-9 WARN [PGLOGGER] -   ERROR with the loaded properties:

                        [oracle-pg-indexing-conf-name= configuration name,

                        oracle-pg-indexing-solr-server-url= host.domain:port/solr,

                        oracle-pg-indexing-solr-node-set= host.domain:port_solr,

                        oracle-pg-indexing-solr-zookeeper-timeout= 15,

                        oracle-pg-indexing-solr-num-of-shards= 1,

                        oracle-pg-indexing-solr-replication-factor= 1,

                        oracle-pg-indexing-solr-max-shards-per-node= 1,

                        oracle-pg-indexing-solr-number-connections= null,

                        oracle-pg-indexing-solr-batch-size= 10000,

                        oracle-pg-indexing-solr-default-size= 500000,

                        oracle-pg-indexing-solr-write-timeout= 15]

                 

                I guess that something is wrong with pgx. The database that I connect to, is on the server and I the config file is like this

                 

                ######################################################################

                # File: propertyGraph.properties

                # Description: This file is used to customize the options

                #            for Oracle Spatial and Graph support for Cytoscape

                ######################################################################

                 

                ######################################################################

                #These attributes are used to configure the SolrCloud search engine

                oracle-pg-indexing-solr-server-url=host.domain\:port/solr

                oracle-pg-indexing-conf-name=configuration name

                oracle-pg-indexing-solr-node-set=host.domain\:port_solr

                oracle-pg-indexing-solr-num-of-shards=1

                oracle-pg-indexing-solr-num-of-connections=1

                oracle-pg-indexing-solr-zookeeper-timeout=15

                oracle-pg-indexing-solr-replication-factor=1

                oracle-pg-indexing-solr-max-shards-per-node=1

                oracle-pg-indexing-solr-batch-size=10000

                oracle-pg-indexing-solr-default-size=500000

                oracle-pg-indexing-solr-write-timeout=15

                oracle-pg-enable-datatypes=true

                 

                ######################################################################

                # File: propertyGraph.properties

                # Description: This file is used to customize the options

                #            for Oracle Spatial and Graph support for Cytoscape

                ######################################################################

                 

                 

                ######################################################################

                #These attributes are used to configure the SolrCloud search engine

                oracle-pg-indexing-solr-server-url=host.domain\:port/solr

                oracle-pg-indexing-conf-name=configuration name

                oracle-pg-indexing-solr-node-set=host.domain\:port_solr

                oracle-pg-indexing-solr-num-of-shards=1

                oracle-pg-indexing-solr-num-of-connections=1

                oracle-pg-indexing-solr-zookeeper-timeout=15

                oracle-pg-indexing-solr-replication-factor=1

                oracle-pg-indexing-solr-max-shards-per-node=1

                oracle-pg-indexing-solr-batch-size=10000

                oracle-pg-indexing-solr-default-size=500000

                oracle-pg-indexing-solr-write-timeout=15

                oracle-pg-enable-datatypes=true

                 

                 

                ######################################################################

                # These values are used to customize the annotations that display the

                # properties and values, especially when values are very long

                oracle-pg-max-chars-displayed=50

                #possible values are: {prefix,suffix,prefix-suffix}

                oracle-pg-show-large-values=prefix

                 

                 

                ######################################################################

                oracle-pg-dop=2

                oracle-pg-max-size=5000

                oracle-pg-log-to-file=false

                oracle-pg-enable-animation=true

                oracle-pg-max-expansion-vertices=300

                oracle-pg-max-expansion-edges=300

                 

                 

                ######################################################################

                # These values are used to perform the Dijkstra's algorithm to find

                # the shortest path using the in-memory analytics

                oracle-pg-edge-weight-key=weight

                oracle-pg-edge-weight-type=DOUBLE

                 

                 

                ######################################################################

                # These values are used in the Pgx engine

                oracle-pg-pgx.num.workers.io=1

                oracle-pg-pgx.num.workers.analysis=1

                oracle-pg-pgx.server.instance.url=http://172.16.16.111:7007/

                 

                 

                 

                 

                ######################################################################

                # These attributes are used for RDBMS property graph

                oracle.rdbms.jdbc-url=jdbc:oracle:thin:@172.16.16.111:2483:fdb

                oracle.rdbms.username=graph

                oracle.rdbms.graph-name=MYGRAPH

                # For searching using Oracle text

                oracle-pg-text.owner=MDSYS

                oracle-pg-lexer=OPG_AUTO_LEXER

                 

                 

                ######################################################################

                # These attributes are used for RDF Views

                oracle.rdf.view.jdbc-url=jdbc:oracle:thin:@localhost:port:sid

                oracle.rdf.view.username=username

                oracle.rdf.view.model-name=rdfModelName

                • 5. Re: oracle property graph cytoscape plugin doesn't run in my system
                  3661413

                  Thanks a lot.

                   

                  Those two points are ok.

                  I noticed that the origin of the exceptions is this error:

                   

                  SwingWorker-pool-9-thread-8 ERROR [PGLOGGER] - getShortestPath()

                  java.util.concurrent.ExecutionException: java.lang.Exception: detected invalid configuration fields [attributes] (through reference chain: oracle.pgx.common.pojo.CreateGraphRequest["graphConfig"])

                          at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)

                          at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1887)

                          at oracle.pgx.api.PgxFuture.get(PgxFuture.java:86)

                          at oracle.pgx.api.PgxSession.readGraphWithProperties(PgxSession.java:1562)

                          at oracle.spatial.propertyGraph.client.visualization.cytoscape.util.PGXUtilities.getShortestPath(PGXUtilities.java:1463)

                          at oracle.spatial.propertyGraph.client.visualization.cytoscape.gui.PGShortestPath.searchPath(PGShortestPath.java:784)

                          at oracle.spatial.propertyGraph.client.visualization.cytoscape.gui.PGShortestPath.access$700(PGShortestPath.java:125)

                          at oracle.spatial.propertyGraph.client.visualization.cytoscape.gui.PGShortestPath$DoDijkstraShortestPath.doInBackground(PGShortestPath.java:1273)

                          at oracle.spatial.propertyGraph.client.visualization.cytoscape.gui.PGShortestPath$DoDijkstraShortestPath.doInBackground(PGShortestPath.java:1225)

                          at javax.swing.SwingWorker$1.call(SwingWorker.java:295)

                          at java.util.concurrent.FutureTask.run(FutureTask.java:266)

                          at javax.swing.SwingWorker.run(SwingWorker.java:334)

                          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

                          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

                          at java.lang.Thread.run(Thread.java:745)

                  Caused by: java.lang.Exception: detected invalid configuration fields [attributes] (through reference chain: oracle.pgx.common.pojo.CreateGraphRequest["graphConfig"])

                          at oracle.pgx.common.marshalers.ExceptionMarshaler.toUnserializedException(ExceptionMarshaler.java:83)

                          at oracle.pgx.common.marshalers.ExceptionMarshaler.unmarshal(ExceptionMarshaler.java:96)

                          at oracle.pgx.client.RemoteUtils.parseExceptionalResponse(RemoteUtils.java:118)

                          at oracle.pgx.client.RemoteUtils.getResponseContent(RemoteUtils.java:83)

                          at oracle.pgx.client.RemoteUtils.parse(RemoteUtils.java:141)

                          at oracle.pgx.client.RemoteUtils.post(RemoteUtils.java:193)

                          at oracle.pgx.client.RemoteCoreImpl$4.request(RemoteCoreImpl.java:495)

                          at oracle.pgx.client.RemoteCoreImpl$CoreRequest.request(RemoteCoreImpl.java:254)

                          at oracle.pgx.client.RemoteCoreImpl$CoreRequest.request(RemoteCoreImpl.java:245)

                          at oracle.pgx.client.AbstractFutureRequest.execute(AbstractFutureRequest.java:42)

                          at oracle.pgx.client.RemoteCoreImpl.request(RemoteCoreImpl.java:238)

                          at oracle.pgx.client.RemoteCoreImpl.loadGraphWithProperties(RemoteCoreImpl.java:487)

                          at oracle.pgx.api.PgxSession.readGraphWithPropertiesAsync(PgxSession.java:779)

                          at oracle.pgx.api.PgxSession.readGraphWithPropertiesAsync(PgxSession.java:740)

                          at oracle.pgx.api.PgxSession.readGraphWithPropertiesAsync(PgxSession.java:721)

                          ... 12 more

                   

                   

                  I guess that something is wrong with pgx. The database that I connect to, is on the server and I the config file is like this

                   

                  ######################################################################

                  # File: propertyGraph.properties

                  # Description: This file is used to customize the options

                  #            for Oracle Spatial and Graph support for Cytoscape

                  ######################################################################

                   

                  ######################################################################

                  #These attributes are used to configure the SolrCloud search engine

                  oracle-pg-indexing-solr-server-url=host.domain\:port/solr

                  oracle-pg-indexing-conf-name=configuration name

                  oracle-pg-indexing-solr-node-set=host.domain\:port_solr

                  oracle-pg-indexing-solr-num-of-shards=1

                  oracle-pg-indexing-solr-num-of-connections=1

                  oracle-pg-indexing-solr-zookeeper-timeout=15

                  oracle-pg-indexing-solr-replication-factor=1

                  oracle-pg-indexing-solr-max-shards-per-node=1

                  oracle-pg-indexing-solr-batch-size=10000

                  oracle-pg-indexing-solr-default-size=500000

                  oracle-pg-indexing-solr-write-timeout=15

                  oracle-pg-enable-datatypes=true

                   

                  ######################################################################

                  # File: propertyGraph.properties

                  # Description: This file is used to customize the options

                  #            for Oracle Spatial and Graph support for Cytoscape

                  ######################################################################

                   

                   

                  ######################################################################

                  #These attributes are used to configure the SolrCloud search engine

                  #oracle-pg-indexing-solr-server-url=host.domain\:port/solr

                  #oracle-pg-indexing-conf-name=configuration name

                  #oracle-pg-indexing-solr-node-set=host.domain\:port_solr

                  #oracle-pg-indexing-solr-num-of-shards=1

                  #oracle-pg-indexing-solr-num-of-connections=1

                  #oracle-pg-indexing-solr-zookeeper-timeout=15

                  #oracle-pg-indexing-solr-replication-factor=1

                  #oracle-pg-indexing-solr-max-shards-per-node=1

                  #oracle-pg-indexing-solr-batch-size=10000

                  #oracle-pg-indexing-solr-default-size=500000

                  #oracle-pg-indexing-solr-write-timeout=15

                  oracle-pg-enable-datatypes=true

                   

                   

                  ######################################################################

                  # These values are used to customize the annotations that display the

                  # properties and values, especially when values are very long

                  oracle-pg-max-chars-displayed=50

                  #possible values are: {prefix,suffix,prefix-suffix}

                  oracle-pg-show-large-values=prefix

                   

                   

                  ######################################################################

                  oracle-pg-dop=1

                  oracle-pg-max-size=500

                  oracle-pg-log-to-file=false

                  oracle-pg-enable-animation=true

                  oracle-pg-max-expansion-vertices=300

                  oracle-pg-max-expansion-edges=300

                   

                   

                  ######################################################################

                  # These values are used to perform the Dijkstra's algorithm to find

                  # the shortest path using the in-memory analytics

                  oracle-pg-edge-weight-key=weight

                  oracle-pg-edge-weight-type=DOUBLE

                   

                   

                  ######################################################################

                  # These values are used in the Pgx engine

                  oracle-pg-pgx.num.workers.io=1

                  oracle-pg-pgx.num.workers.analysis=1

                  oracle-pg-pgx.server.instance.url=http://172.16.16.111:7007/

                   

                   

                   

                   

                  ######################################################################

                  # These attributes are used for RDBMS property graph

                  oracle.rdbms.jdbc-url=jdbc:oracle:thin:@172.16.16.111:2483:fdb

                  oracle.rdbms.username=graph

                  oracle.rdbms.graph-name=MYGRAPH

                  # For searching using Oracle text

                  oracle-pg-text.owner=MDSYS

                  oracle-pg-lexer=OPG_AUTO_LEXER

                   

                   

                  ######################################################################

                  # These attributes are used for RDF Views

                  #oracle.rdf.view.jdbc-url=jdbc:oracle:thin:@localhost:port:sid

                  #oracle.rdf.view.username=username

                  #oracle.rdf.view.model-name=rdfModelName

                  • 6. Re: oracle property graph cytoscape plugin doesn't run in my system
                    alwu-Oracle

                    Did you start the PGX server that is part of Oracle Database 12.2.0.1 (with the PGQL patch)? The error means that the client and PGX server version do not match.

                     

                    See the following blog for the PGQL patch.

                     

                    https://blogs.oracle.com/oraclespatial/property-graph-query-language-pgql-support-has-been-added-to-oracle-database-1220…

                     

                    Thanks,

                     

                    Zhe Wu

                    • 7. Re: oracle property graph cytoscape plugin doesn't run in my system
                      3661413

                      Thanks a lot, I added the patch and it fixed all the errors but one! after executing startCytoscape.bat I see the error below:

                       

                      java.net.UnknownHostException: chianti.ucsd.edu

                              at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)

                              at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)

                              at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

                              at java.net.Socket.connect(Socket.java:589)

                              at java.net.Socket.connect(Socket.java:538)

                              at sun.net.NetworkClient.doConnect(NetworkClient.java:180)

                              at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)

                              at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)

                              at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)

                              at sun.net.www.http.HttpClient.New(HttpClient.java:308)

                              at sun.net.www.http.HttpClient.New(HttpClient.java:326)

                              at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1167)

                              at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1103)

                              at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:997)

                              at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:931)

                              at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1511)

                              at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439)

                              at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)

                              at javax.swing.JEditorPane.getStream(JEditorPane.java:736)

                              at javax.swing.JEditorPane.setPage(JEditorPane.java:435)

                              at javax.swing.JEditorPane.setPage(JEditorPane.java:883)

                              at org.cytoscape.welcome.internal.panel.StatusPanel$2.run(StatusPanel.java:107)

                              at java.lang.Thread.run(Thread.java:745)

                       

                      Does it relate to solrCloud? and is the solrCloud optional for Cytoscape or it's mandatory?

                      • 8. Re: oracle property graph cytoscape plugin doesn't run in my system
                        alwu-Oracle

                        Hi,

                         

                        You are very welcome. Actually, this error message has nothing to do with the property graph functions.

                        It is that the Cytoscape itself needs to reach out to its mothership (chianti.ucsd.edu) to see if there is any updates.

                        You can safely ignore this exception.

                         

                        BTW, SolrCloud is optional.

                         

                        Hope it helps,

                         

                        Zhe Wu