## 6 Evaluation of the USN-Platform Semantic Extension
### Performance of the Observation Storage including a Semantic Web Repository
#### 6.2.1 Storage Performance  
To analyze storage performance when handling semantically annotated observations sent from smart devices, two separate tests were carried out: the first consisted in measuring the time required to publish messages of varying sizes and levels of RDF inference complexity; the second was to evaluate the time required to upload sets of observations of varying sizes to the Observation Storage Sesame SPARQL Endpoint. To reiterate, only Sesame RDF Schema inferencing was tested. An important feature to consider when using Sesame is that it carries out inferences over RDF Schema when RDF triples are added to the repository (rather than performing this reasoning only when a client makes a SPARQL query). Noticeable differences in response times are thus expected when smart devices publish observations that lead to inferences of varying complexity (e.g., involving a different number of inference steps). For this reason two different configurations of Sesame (www.openrdf.org) were considered: a Native Java Store with and without RDF Schema inference capabilities.  
\begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline
**Type of** & **Raw XML** & **FI** & & **Gzip** & & **EXI** \\
**Message** & **(bytes)** & **(bytes)** & **(Compression)** & **(bytes)** & **(Compression)** & **(bytes)** & **(Compression)** \\ \hline Message A & 2135 & 1301 & 39.06\% & 683 & 68\% & 285 & 86.65\% \\ Message B & 3099 & 1621 & 47.69\% & 804 & 74.05\% & 388 & 87.47\% \\ Message C & 8747 & 3253 & 62.81\% & 1170 & 86.62\% & 903 & 89.67\% \\ \hline \hline \end{tabular}
\end{table}
Table 2: Message sizes and percentage of compression for semantically annotated observations in O&M-OWL using Gzip, FI and EXI.  
Figure 7 shows the publishing times for different types of message (messages A, B and C as described in 6.1) in an empty Observation Storage (to avoid any possible observation artifact caused by potential repository capacity limits). To test publishing times for different inference complexities, messages were extended with more detailed semantic descriptions of their _featureOfInterest_, requiring different amounts of RDF triples (1, 4, 8 and 12). It is clear that publishing time (_i.e._, time-to-publication) increases with the size of the message (message C takes longer to publish than B and A for all available configurations). Figure 7 also highlights the noticeable increase in response times when using Sesame repositories with RDFS inference (red line).  
To evaluate, now, the capacity to handle large amounts of observations, a dataset containing one million observations was created. The observations in this data set consisted in the battery levels of electric vehicles (99% of the dataset) and the power capacity of recharging stations (1% of the dataset), with an average length of 10 RDF triples per observation. Again, to evaluate Sesame's inference capabilities 20% of the observations were semantically enriched by defining a hierarchical relationship for recharging stations (_i.e._, \"v:BrandX_RechargeStation rdf:subClassOf v:RechargeStation\"). The dataset was divided into subsets of different sizes and uploaded into two Sesame repositories, one with and the other without RDF inference resolution. Test results, as presented in Figure 8, show that it is  
Figure 8: Time required to add different volumes of observations to the repositories with and without RDF Schema inference resolution.  
Figure 7: Publishing times for different types of messages, and for publication with and without RDF Schema Inference.  
possible to add 1 million smart device observations (10 million RDF triples) to our repository in 5.3 h. Moreover, the almost linear increase in uploading times reveals that, at least up to the volume of data tested, the average time needed to publish each observation (the slope in the plot in Figure 8) remains roughly constant with varying repository size.