README.md 3.43 KB
Newer Older
Adam Kučera's avatar
Adam Kučera committed
1
# Semantic BMS
Adam Kučera's avatar
Adam Kučera committed
2
3
4
Welcome to the Semantic BMS framework project site.

The SemanticBMS project aims to provide semantic information for building 
Adam Kučera's avatar
Adam Kučera committed
5
automation data. More details about the topic can be found in the doctoral thesis of the author:
Adam Kučera's avatar
Adam Kučera committed
6
https://is.muni.cz/th/umgby
Adam Kučera's avatar
Adam Kučera committed
7
8
9

The Source files in this repository are proof-of-concept implementations of following
components of the middleware layer:
10
11
12
 * **Semantic API** - SemanticAPI & Ontology repository, currently in relatively stable version 1.0
 * **Data Access API** - Data Access API, in a phase of development snapshots
 * **Use-case Plugins** - Data providers for the BACnet automation protocol and Delta Historian archive server
Adam Kučera's avatar
Adam Kučera committed
13
 * **SemanticBMSClient** - Client for querying the Semantic API
14
 * **TestBench** - Tools for generating the sample data set and testing the query performance + pre-generated sample data
Adam Kučera's avatar
Adam Kučera committed
15
16
17
18

The project is developed and by maintained by Lasaris lab at Faculty of 
Informatics, Masaryk University, Brno, Czech Republic.

Adam Kučera's avatar
Adam Kučera committed
19
The main developer is Adam Kučera. Contact: **akucera@mail.muni.cz**
Adam Kučera's avatar
Adam Kučera committed
20

Adam Kučera's avatar
Adam Kučera committed
21
22
ResearchGate profile: https://www.researchgate.net/profile/Adam_Kucera/

23
24
25
## Sample Semantic BMS Ontology data
The sample data can be found in the [TestBench/NT-Data/sample.nt](https://gitlab.fi.muni.cz/xkucer16/semanticBMS/raw/master/TestBench/NT-Data/sample.nt) file.

Adam Kučera's avatar
Adam Kučera committed
26
For more information about the data set, see [TestBench readme](https://gitlab.fi.muni.cz/xkucer16/semanticBMS/tree/master/TestBench/README.md).
27
28

## How To Install SemanticBMS
Adam Kučera's avatar
Adam Kučera committed
29

akucera's avatar
akucera committed
30
31
32
33
34
35
36
This section describes one of the ways to deploy the Semantic BMS APIs. There are certainly many other ways, however this one
is tested and pre-configured.

To deploy the application in Apache Tomcat container (tested for Tomcat 8.5 and higher, requires Servlet 3.0 implementation):
* Download and install the Apache Tomcat (for Windows, ZIP distribution is sufficient)
* Preferred and pre-configured location for Tomcat installation is C:\apache-tomcat
* Create a directory named sbms in the webapps folder of your tomcat installation (e.g. C:\apache-tomcat\webapps\sbms)
37
* Copy the files from the SemanticBMSClient project into the sbms/client directory
akucera's avatar
akucera committed
38
39
40
41
* If your Tomcat installation directory is not C:\apache-tomcat:
  * Set up the SemanticAPI to use the desired TDB location by updating the tdb.path property in the semantics.properties file 
   (The TDB creation itself is described in the following steps) 
  * Check the ont-policy.rdf file and update paths to the local ontology definitions
Adam Kučera's avatar
Adam Kučera committed
42
43
* Build the SemanticAPI/DataAccessAPI project using maven:
```
44
    mvn clean install
Adam Kučera's avatar
Adam Kučera committed
45
```
46
* Copy the resulting build (located in <Your git repository>/semanticBMS/SemanticAPI/target/SemanticAPI-1.0 for the SemanticAPI) 
akucera's avatar
akucera committed
47
48
49
  into the new directory directory (e.g. C:\apache-tomcat\webapps\sbms) - the WEB-INF and META-INF folders 
  are meant to be placed directly in the sbms directory (and merged from both projects -- SemanticAPI and DataAccesAPI)
* Prepare the TDB and place it under the webapps/sbms/WEB-INF/tdb directory. There are multiple ways to prepare the TDB. Refer to the TestBench/README.md file.
Adam Kučera's avatar
Adam Kučera committed
50
51
* Run the Apache Tomcat
* The APIs are available at http://localhost:8080/sbms/semantics and http://localhost:8080/sbms/data
Adam Kučera's avatar
Adam Kučera committed
52
* To test the Semantic API, visit http://localhost:8080/sbms/semantics/types/type or run the performance tests.
53
* The simple client for testing purposes is available at http://localhost:8080/sbms/client/query.html (default credentials are user/resu and admin/nimda)
Adam Kučera's avatar
Adam Kučera committed
54

Adam Kučera's avatar
Adam Kučera committed
55