A Triple Space-Based Semantic Distributed Middleware for Internet of Things Aitor G´ omez-Goiri 1 and Diego L´ opez-de-Ipi˜ na 1 DeustoTech, Deusto Institute of Technology Avda. Universidades 24, 48007 Bilbao, Spain {aitor.gomez,dipina}@deusto.es http://www.morelab.deusto.es Abstract. In the Internet of Things several objects with network ca- pabilities are connected over a self-configured local network with other objects to interact and share knowledge. In this context, the Triple Space approach, where different processes share common semantic knowledge, seems to fit perfectly. In this paper we present our progress towards a semantic middleware which allows the communication between a wide range of embedded devices in a distributed, decoupled and very expres- sive manner. This solution has been tested in a stereotypical deployment scenario showing the promising potential of this approach for local envi- ronments. Keywords: triple space, ubiquitous, mobile, embedded, semantic 1 Introduction Triple Space computing is a coordination paradigm based on tuplespace-based computing. In tuplespace computing the communication between processes is performed by reading and writing data structures in a shared space, instead of exchanging messages [4]. The Semantic Web vision aims to offer machine- understandable persistent data forming a network for machines instead of the current World Wide Web which is more human-centered (web services offer re- mote functionality to machines, but they are not really Web-based since they are message exchange-driven). Triple Space (TS) computing performs a tuplespace based communication using RDF triples, in which the information unit has three dimensions: ”subject predicate object”, to express this semantic data. A Triple Space offers different type of autonomy which is not reachable with message exchange-driven communication, such as reference autonomy (the pro- cesses can communicate without knowing anything about each other), time au- tonomy (because of the asynchronous communication) and space autonomy (the processes can be executed in very different computational environments). In context aware environments, a lot of devices communicate with each other and share their state in order to perform actions over the environment. Differ- ent approaches to define and store context data have been presented in several works [12], coming to the conclusion that ontology based models are the most