A sample implementation of
- parsing a railML 3.1 file to a TinkerGraph
- and providing a REST API to query the graph again.
See Swagger UI opening the application in the browser.
You can use the environment variable RAILML_TO_LOAD to point the application to a local resource using file:///... schema.
If nothing is configured the application defaults to loading the official railML 3.1 sample.
How to solve the exception sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.
The official railML 3.1 sample is provided via https://. It may be that your Java keystore does not yet trust the intermediate CA certificate used to sign *.railml.org.
To fix this:
- use your browser to open the link
- view the certificate chain used
- export e.g. the missing
AlphaSSL CA - SHA256 - G2toalphassl_ca_SHA256_G2.cerfile (using DER encoded binary) - import the certificate into your JREs default keystore (default password is
changeit)
> keytool -import -keystore c:\_\jdk1.8.0_202\jre\lib\security\cacerts -file e:\temp\alphassl_ca_SHA256_G2.cer
The graph created from parsing the railML file is persisted to the temporary directory as GraphML file named current_railML_import.graphml.
-
Download Gephi for your platform
-
open the GraphML file created
-
configure the visualization
-
this results in the sample graph showing
/railML/infrastructure/topologywith the informationnetworkcallednw01withnetwork/levelcalledlv0(micro level),- highlighting some
netElemententries prefixed withne_and somenetRelationprefixed withnr_





