TopBraid projects are workspace directories that contain multiple resources, such as asset collections, teamwork settings and working copies, and various configurations, etc. This section describes three methods for deploying projects to TopBraid EDG from three different project sources: (1) a TopBraid Composer IDE – Maestro Edition (TBC-ME), (2) a .zip file of a project (directory), or (3) another TopBraid EDG server.



TopBraid Composer Export

Developers can design and test semantic content and web applications using TBC-ME, and then deploy those projects to a TopBraid (Live) server (i.e., EDG, EVN, TBL). TBC-ME has a custom Export wizard that deploys projects from its workspace into an existing TopBraid server. In TBC-ME, select a project (in a Project Explorer or Navigator view), and then either right-click the project or use File and select Export… > TopBraid Composer > Deploy Project to TopBraid Live Server.


Click next in this wizard:

Check the Send necessary connection credentials checkbox (to include the database credentials of the RDBMS connection in secured storage). Clicking Finish will zip up the entire selected project with all the RDBMS connection files, and other project files, and send it to the server specified in the ‘Server URL’. And it will unzip it at the destination server in the workspace directory.

NOTE: This should only be used with projects that contain TTL files. If used with a repositories project checking the Overwrite existing project with the same name box will clear the database of triples before uploading. Please zip the project and use the Project Upload feature inside EDG instead.

Upload Project to Server

Users can click the ‘Project Upload’ link from the admin page.

First create a zip file for the project folder (including the .project file) in your system. And click the ‘Choose file’ button to select such zip file. It should upload the zip file into the server, and unzip it properly in its workspace directory. This method will not create any database credentials in the server.

Send Projects between Servers

EDG administrators can send projects from one EDG server to another one, e.g., from a test server to a production server. From the Admin page, select Server Administration > Send Projects to Another Server.

Select the list of projects to send, and also check the box whether you want to send the database triples also to the destination server. It essentially zip up the entire project from the source server and unzip it at the destination server workspace. And also create the appropriate triples for all the graphs involved at the destination server. This essentially will eliminate the steps in copying database information from one test server to the production server. And all the imported vocabulary are sent properly also. This functionality should create the vocabulary and its import properly at the destination server.



Appendix: Web Services For Deployment

We also provide REST web service to perform HTTP requests for the following tasks if you have such needs to do so. You can perform the followings using simple HTTP requests, this can help with initially setting up a server.

The following tables show the exact HTTP requests and parameters required to perform the specified tasks. The bold words are required system keyword, whereas the italics words (e.g. ${xxx}) should be replaced with your specific details.

  • To create a new EDG Collection such as an ontology, use the createProjectService to create a new vocab by specifying a new vocab name and new vocab name space. The project type can be found in the history graph (.tch) for the collection type. For example, ontology is

Send this http request to the destination server

Http request GET request
Path edg/tbl/swp
_snippet true
name ${newVocabName}
defaultNamespace ${newVocabNameSpace}
  • To load rdf file into the vocab Use importRDFFileService to load a .ttl file into an existing vocab.

  • Example http request to the destination server. Change the details to match your request. See the UI for import rdf for options. “raw” is for direct streaming.

Http request POST request
Path edg/tbl/importFileUpload
Parameters:(use Multipart-form data)
_base urn:x-evn-master:${vocabName} 
projectGraph urn:x-evn-master:${vocabName} 
format turtle
record true
raw false
file ${RDFFileName} (should be the absolute path to that ttl file e.g. C:\Users\user1\Downloads\DBPediaCountryCapitals.sms.ttl, mime-type is application/octet-stream)
  • To deploy a project Use unzipProject service to deploy a project (in .zip file) to a destination server.

create a zip file of the directory of the project first, and send this http request to the destination server

Http request POST request
Path edg/tbl/unzipProject
Parameters: (use Multipart-form data)
old_project update
projectName ${ProjectName}
project ${} (the absolute path to that zip file location.
  • To delete a project Use deleteProject service to delete a project in the server.
Http request POST request
Path edg/tbl/deleteProject
appName ${project name}
delName project
  • To send triples for a baseURI Use sendTriples service to send triples for a baseURI from the source server to the destination server

send this http request to the source server, this will send triples from the source graph store to the destination server

Http request POST request
Path edg/tbl/sendTriples
Parameters: (use Multipart-form data)
graphURI ${baseURI}
serverURL ${destURL} (e.g. http://your.server.ip:8080/edg/tbl/)
userName ${destUserName}
password ${destPassword}