A Semantic Model for Socially Aware Objects

The Internet of Things (IoT) assumes that things interact and exchange information thus defining the future of pervasive computing environments. The integration between people and interconnected objects realizes a new physical and social space and opens new frontiers in context awareness and objects adaptation. In this paper we investigate the possibility of creating socially aware objects able to interact not only among themselves but also with human beings sharing the same environment. The main contribution of this work is to provide a knowledge model for social context-awareness and reasoning using an ontology-based context modeling, a user model and exploiting of social networks. This model is part of a larger framework called So Smart that aims at empowering networks of interconnected objects with social context awareness in order to improve their social interaction with people.


Introduction
The Internet of Things (IoT) defines a shared social environment where objects are integrated into people's everyday life, identifying a new social ground of communication.The future of pervasive computing rises some questions about how objects can properly adapt to social spaces.For these reasons the notion of context awareness and context modeling has become fundamental in pervasive computing applications in order to ensure adaptation and contextual services.Most of the research in the area of context aware computing has been mainly concerned in location, time, activity and identity recognition.Intelligent objects or applications seem to be largely a-social, lacking in dealing with people social needs.On the contrary we believe that taking into account variables that are user-related and that socially influence the whole context is important to enhance agents' intelligence.Moreover social-awareness about users can significantly improve adaptation and human-object interaction by providing a better behavior that takes into account social features so far unexplored.In computer science an accepted definition of context is [1]: "[...] any information that can be used to characterize the situation of an entity.An entity is a person, place or object that is considered relevant to the interaction between a user and an application, including the user and the application themselves." According to this definition, the information useful for defining a context is not only given by the environment and its features, but also from people interacting with that environment.This paper presents a knowledge model developed for So Smart, a framework supporting socialcontext awareness in the Internet of Things and that relies on users relationships, preferences and demographic data.We consider social context awareness as the recognition of surrounding real-time social interactions and structures, with a particular attention to users preferences and features inside the network.The contributions of this work consists in 1) introducing a model for socialcontext awareness which is based on users features and social relationships, 2) using social data from the web and in particular from online social networks to build the social context and 3) exploiting semantic web ontologies for social context modeling and reasoning.

State of the Art
The Internet of Things (IoT) shows potentialities that make possible the development of a huge number of applications that involves different domains and environments.Atzori et al. [2] grouped four domains where IoT applications can be deployed: transportation and logistic, healthcare, smart environment, personal and social applications.The social potentialities of the Internet of things relate to the automatic update of information about users' social activities supported by online social networks such as Facebook or Twitter.One apporach in this direction has been made by [3] Julian Bleeker who coined the term blogjects to describe objects that blog.Blogject is a neologism which is meant to focus attention on the participation of objects and things in the sphere of networked social discourse variously called the blogosphere, or social web.Xia and Ma [4] envision that the convergence of CPS and social networking allows the emerging of a new paradigm that they call smart community.A smart community is defined by both humans and physical things delivering ubiquitous services by exploring cyberphysical and social intelligence.Social Network Analysis have emerged in sociology and recently gained significant success in computer science along with the growing of online social networks.Specific measures and metrics have been defined to describe topology and evolution of social networks [5].We use some of these metrics to describe our social context structure (see Section 4.2).We exploit ontology to represent the social models and to reasoning to them, since they have been evaluated as most promising assets for context modeling in pervasive computing environments [6], since they are useful for specifying concepts and complex interrelations among them, and allow for reasoning on concepts relation.An ontology representation of social aspects has been provided by Hoekstra [7] but it is mainly social roles oriented and does not address social contexts in our meaning.In our project we strongly rely in the effectiveness of using ontology models and we believe that semantically enhanced objects can play a key role in context-aware applications.Our aim therefore is to use ontologies to build our smart objects knowledge-base by representing social contexts and their features.

A Semantic Model for So Smart
In this paper we will address the semantic model used in So Smart that represents the knowledge base responsible of providing social intelligence to smart objects in ubiquitous environments.Our semantic model is framed in two modules: the OnSocial Ontology (see Section 5) and the user model that includes basic user's data, such as demographic data and user's interests.The goal of So Smart is to give social intelligence to interconnected things in order to improve their capability to interact with users and thus better address users' needs.We plan to organize the So Smart framework in three layers (see Figure 1).The first layer is where smart objects gathers information from the environment.The second layer is responsible of the whole reasoning.The third layer, Semantic Layer, will be addressed in this paper.
In this paper we assume the following requirements: User awareness.The most important requirement to make the approach possible is that the objects should be able to detect users.To do, this many solutions can be used, such as using RFID.

Users preferences detection.
Another requirement is that objects should have a mechanism to gather users preferences.These can be gathered accessing users' basic information and interests by using existing technologies such as API provided by Google + 11 , Facebook 22 , LinkedIn 3 3 .Notice that we do not consider semantic differences in user information representation, but in this work we use only homogeneous information.

Core Definitions
In order to understand the importance of bringing social awareness to pervasive environments, we now define what we mean for what we mean for smart object, context and goal.With respect of previous work [8] we want to propose an improvementof our definition of social context by adding variables about users' and group's preferences and features.We also give a description of our vision of smart objects illustrating their features and their expected behavior.

Smart Object
We call smart any physical object connected to the web with some sensing capabilities.Its main abilities are: 1) detect users and the social connections between them, 2) access users' data, 3) infer the social context according to users' networks topology, preferences and features, 4) infer social goals according to the social context and the user model, 5) coordinate their behavior, and 6) provide a context-driven output.

Social Context
According to the sociological approach instead a social context is synonym of social environment, and it is considered as the culture, the persons and the institutions with which people interact.We started from such a definition to gradually narrow it down to a more specific interpretation that met the point of view of ubiquitous computing [1].
In our vision, social contexts can be assimilated to social groups, identified as a number of nodes (people) in a given location, linked by some kind of ties (relations), that determine their nature, and characterized by specific features such as sex, age or preferences.We refine our previous definition of social context [8], identifying a tuple with two sets of variables: cxt = <NT, UM> where NT, Network Topology, is the set of network types depending on the number of nodes (Size), the number of connections between them (Density) and the nature of such connections (Type of Connection), whereas UM, User Model, is the set containing the user model variables, e.g., average age, prevalent gender, common interests.According to this definition, a possible context representation in the framework could be: cxt = <{Size, Density, Type of Connection}, {Age, Gender, Interest}>.
Network Structure.As previously stated in our vision social contexts can be seen as social aggregation of people that share particular kind of relationship between each other: they can be friends, colleagues or they simply do not know each other.According to this definition a strong similarity exists between social contexts and social networks structures studied by social networks analysis.In social networks analysis a network is represented by a labeled graph where people are nodes and their connections are the arcs connecting two nodes.We therefore believe that social contexts can be derived from social networks structures and topology.Many important properties can be derived from such structures, but we distinct three main elements useful to describe the context: the number of people, their relationship and how well they know each other.We now present the variables set that, according to our model, describes the network structure: <Size, Density, Type of Ties> where Size is given by the number of nodes, Density by the number of connections between them and Type of Ties is defined by the nature of the relations between the nodes of the network.The correlation of these three variables provides a good approximation of a number of social contexts.
1) Size depends on the number of nodes in a defined location.We isolate four configurations going from very small to very large networks.
Private (n < 4): a network with a small number of nodes; Small (5 < n < 10): a network with a few nodes; Open (20 < n < 50): a relatively large network; Wide (n > 50): a network with a very large number of nodes.
2) Density indicates the number of links between the nodes of the network.Starting from the definition of a sociometric clique [9], we count the number of triangles in the graph to classify networks with a large number of triangles, networks with easy to close triangles and networks with many isolated nodes and hard to close triangles.
As an example, we provide the following basic classification where we distinguish three types of density values: Clique: a fully connected graph; Dense: a graph with easy to close triangles; Sparse: a graph with many isolated nodes and hard to close triangles.
3) Each arc of the network needs to be labeled with possible values that give information about the type of ties between two nodes.Types of ties can be: Relatives: two nodes sharing the same class or superclass in the ontology; Relationship: two nodes in a romantic relationship with each other; Friends: two nodes with a friendship-kind of relation; Partners: two nodes with a partnership-kind of relation; Unknown: no relation exists between two nodes.
To gather type of relation values we propose to crawl users social web applications anonymous graph, such as Facebook, LinekedIn or Delicious.Facebook for example can bring useful data about users friends or family members while LinkedIn could be a reliable source for finding partnership kind of relations.
User Model.As previously stated, users networks are not the only variables influencing reasoning and consequent objects behavior.We also suggest to consider users features and preferences.The age, the sex and the number of interests that people share in a group determine its level of homogeneity and change people's behavior and expectations.For this reason, through the definition of appropriate user models we should be able to improve social context modeling by inspecting users data.In particular we now illustrate how we model the variables expressed in this 3-tuple: <Age, Sex, Interests> A User Model is a knowledge structure which contains all the features the system knows about users (from demographic features such as age, gender, profession to interest and knowledge in some domain category).For adaptation purpose, the user model included 1) demographic data and 2) users preferences.Demographic data we consider are: age and sex.
1) Age is an important variable for defining the type of group: teen or adult, mixed or unmixed types of group and therefore the related social goals.For this reason we identify three particular values: Average age: it determines the personality and the behavior of a group.Groups of teens for example show emotions, feelings and priorities rather different from adult or elderly groups.
Age variance: it measures how the set of ages is spread out and how far age values are from the mean.Small tight groups tend to show a low age variance while big open networks have high value of age variance.Equation (1) shows how we calculate AgeVariance.
where a is a single age value and a is the average age value.
Underage: this boolean variable is useful to know if there is at least one child in the group.
2) Sex is a sensible variable in describing attitudes, interests and social behavior of a group.Gender studies [10] show that the social and cultural constructions of masculinities and femininities strongly influences social activities, goals and relations.We are interested in determine the dominant sex and sex variance of a group.Dominant sex: this variables indicates the main sex in a group.
Sex variability: it is the ratio between number of men and number of women in a group.It measures the frequency of occurrences and gives values between 0% and 100%.We use a univariate descriptive statistics index: Gini I. Interests indicates users' preferences about movies, music, books and so on.They are expressed as a couple category-value, where category is the domain category the user is interested in, and value is the numerical level of this interest (overlay user model).We collect such data from Social Web applications (e.g.Facebook) that make them available by means of API (e.g. using OpenSocial4 or Facebook Graph API5).
Interest ratio: this is a variable that concur in defining the homogeneity of a group and it indicates the ratio between the number of common items and the total number of items of interest in within a group.

Social Goal
Social goals are guessed about what users might need in a certain context.According to social influence theory [10], two kinds of goals can be identified within groups: individual goals and group goals.The former are related to specific users' objectives, while the latter encourage group cohesiveness such as working together to complete a task or imitating members behavior to stick together in the group.Some contexts tend to preserve a strong individuality, while others favor group collaboration, privileging group goals rather than individual ones as in the scenario.According to this perspective the set of social goals can be represented as G = f(cxt), where Context cxt has a set G of possible social goals.Common social goals have to do with desired social rewards or with the roles agents can play in specific contexts such as being accepted, entertain, making friends, pleasing someone etc.In our vision social goals are guesses about what users might need in a certain situation, or a context.

Defining OnSocial
In order to fully understand the importance of building a social ontology, we give a description of what we signify as a social context according to our research approach.Since we work with smart objects in ambient intelligence, we started from the definition of context from the point of view of pervasive and ubiquitous computing and we call it social to distinguish it from its general characterization.Since we want to use this ontology to improve agents adaptations to the social environment, we propose to model the social reality not only using a set of properties but also identifying possible social goals in a given context.This solution makes this knowledge base strongly recommendation oriented, but it also emphasizes the dynamism of a social context as a human organization made of interactions, social desires, possible rewards and punishments.For a proper ontology design we cooperate with domain experts such as sociologists and psychologists who give us a complete understanding of the notions of context, goal, group and their relations.In order to keep simple the development and to formally separate the static description of the social context from the concept of social goal, we develop two ontologies: a Social Context Ontology and a Social Goal Ontology.We also develop a domain ontology, the Objects Ontology to represent smart objects, organizing them in a taxonomy and identifying their basic actions in relation with social goals.We then merge all these ontologies together into a upper ontology called OnSocial that fully describe social contexts.In order to formalize the social context information we chose OWL (Web Ontology Language4 ) that uses a standardized syntax from Description Logics (DL), a subset of First-Order Logic (FOL).The advantages of DL reasoning are subsumption reasoning, consistency checking and classification on taxonomies.We used OWL 2 because we wanted to exploit some of its extensions with respect of OWL 1 and in particular the possibility to support datatypes with ranges.We built the ontology with Protegee, Top Braid Composer and using Pellet reasoner engine.

Social Context Ontology
The Social Context Ontology is the center of the context modeling.It is responsible for representing all the information about a social context according to the features that define it.Our Social Context Ontology must be able to properly represent all the elements that have to be take into account when describing a social context.Given the variables previously described, we identify two top categories: SocialContext and ContextProperty.Since we look at a social context more as at nodes clustered in a social group, the class SocialContext includes a predefined number of contexts following the classifications provided by group sociology.Typical examples of groups and social networks are: tribe, community, family, peer, club, household etc.Our ontology currently shows only a short list of all the possible context.We use classes to represent the contexts in order to keep our model at a high level to guarantee flexibility and reuse.
ContextProperty class describes all the variables that define the social context.Subclasses of ContextProperty are: network structure properties: Number, Density, Type OfTies (object properties) and user properties: Age, Sex, Interest (datatype properties).These classes have as their subclasses the values that we have listed in section IV-A.Therefore we have small, private, open and wide for Numbers, clique, dense and sparse for Density and friendship, unknown, relatives, partners and relationship for TypeOfTies.The representation of the class Number and its subclasses requires the use of datatype properties in order to define a numeric range for each subclass.
The Social Context Ontology includes a predefined number of contexts following group sociology: tribe (a group of people that has many of the same interests and commonly found in a high school/college setting), community (a group of people with a commonality often, but not always, in proximity with one another with some degree of continuity over time), family (a group of people related by blood or marriage), work (colleagues), public (unknown people), romantic (two people in a relationship), club (a group with members dedicated to particular activities), team (small group collaborating to reach a goal), peers (members of approximately the same age, social status, and interests and equal in terms of power).The property DescribedBy associates the domain Social-Context with the range ContextProperty.Intuitively, subproperties of DescribedBy are hasDensity (with range Density), hasNumber (with range Number), hasType (with range Type-OfTies).Furthermore, each social context is properly described by the definition of class restrictions over the subproperties of DescribedBy.
In OWL restrictions use existential ( ) universal quantifier (  ) or cardinality restrictions on specific values.See the following example for existential and universal restrictions that represent the class community.


Table 1 shows the main restrictions for the class community.The first two restrictions mean that the context community can take some values from the class small and some values from the class open.The third imposes that a community must only take all values from clique on the property hasDensity.

Social Goal Ontology
The Social Goal Ontology aims at representing social pur- <owl:Restriction> <owl:someValuesFrom rdf:resource="#small"/> <owl:onProperty> <owl:ObjectProperty rdf:about="#hasNumber"/> </owl:onProperty> </owl:Restriction> <owl:Restriction> <owl:someValuesFrom rdf:resource="#open"/> <owl:onProperty> <owl:ObjectProperty rdf: about="#hasNumber"/> </owl:onProperty> </owl:Restriction> <owl:Restriction> <owl:allValuesFrom rdf:resource="#clique"/> <owl:onProperty> <owl:ObjectProperty rdf:about="#hasDensity"/> </owl:onProperty> </owl:Restriction> poses of individuals or of an entire group according to different contexts.Social goals lie at a very high level of representation and they have to do with general desires such as the need of cohesiveness, collaboration or getting in power.However our ontology must be able to represent these goals at different levels of abstraction in order to be understandable and performable by smart objects.For these reasons a social goal must be associated with subgoals and with lower level goals, organized into a taxonomy where leaves are associated to smart objects' basic actions expressed in the objects' ontology.From the ontological point of view, a very interesting point is the division between individual needs and hence individual goals, and group or network needs and goals.Some contexts tend to preserve a strong individuality while others enable group behaviors and collaboration privileging group goals rather than individual ones.
Individual vs Group: Social science states that in groups two kinds of goals can be identified: goals of an individual inside the group and goals of the group as a whole.The Social Goals Ontology has two main classes: IndividualGoal and GroupGoal.Individual goals are goals of single users within the network, whereas group goals are goals of the group as one entity.Individual goals concern self achievement and more self-centered needs and desires.Group goals encourage group cohesiveness.We want to model different goals and subgoals starting form theories about classification of users' main desires and objectives.Classification and definition of the classes follows small group sociology [11], social psychology of group dynamics and teamwork research [12].Once again we decided to use classes to model social goals in order to keep the ontology as flexible as possible.This choice give us the chance to add new instances formulated as actions and further interpreted by objects to trigger specific Copyright © 2012 SciRes.AIT primary goals.The Ontology and the Goal Ontology must be merged for goal-context association.To reasonably associate goals to contexts, social groups and social identities theories have been taken into consideration [13].

Objects Ontology
Let us now briefly introduce a third ontology, the Objects Ontology, that is the representation of the domain of interest and that serves the purpose to complete the semantic model of our project So Smart.This ontology is not directly connected with the description of social contexts, but it is fundamental for the logical chaining of the three ontologies and therefore for a proper reasoning of smart objects.For these reasons the Objects Ontology organizes objects of the domain into a taxonomy and relates basic actions of single objects with social goals illustrated into the Social Goal Ontology.For example a DVD player has action Play Movie that is connected to the social goal entertainment.So Smart relies in this ontology to assure that smart objects are able to provide a contextual output after social context and social goals have been identified.

OnSocial: The Social Ontology
This section illustrates our high level ontology that we call OnSocial and that aims at being a starting point for a future standard ontology to represent social contexts and more generally social reality.The proposed design of this ontology enables specializations to the social domain but it allows interoperability with external ontologies.The light-weight ontologies Social Context Ontology, Social Goal and Objects Ontology are imported into the upper ontology that represents social contexts, social goals, objects and their relationships.In particular this is the place where the ranges of all the social goals are connected with specific social contexts and where objects' basic actions find a relation with social goals.As reflected by its name, OnSocial has a clear sociological bias.In this sense it captures ontological categories that underline the sociological properties of being in a group and interacting with it, trying to be rewarded or avoiding punishments.Indeed, the fundamental ontological distinction is between ContextProperty and Goal it can be seen as the distinction between statics and dynamics.Both categories are used to describe one ore more social contexts but they do it from a different sociological sense: properties describe the structure of the group, goals describe the aim of a group or of a single individual within that group.Another important aspect of this ontology is the understanding of the indissoluble link between the single person and the social context or the social group he belongs to.Even if individual goals address singular de-sires, they exist only to solve a need of an individual inside a specific social context.Collective attitudes and intersubjectivity are therefore key concepts that we derived from social science [14] in order to represent social reality.As we previously stated, in OnSocial the two lower lever ontologies are mapped linking each social context to one or more social goals.The association of social goals and social contexts is derived from behavioral science and sociological theories previously cited.We started from the assumption that strongly connected groups and therefore context such as tribes, communities or families, are more attached to the conservation of a high level of social identity, belongings and dominance.On the other hand contexts with only few connections are more interested in personal achievement or need of cooperation.As an example we describe the main objects property has-Goal that has SocialContext as domain and Goal, which contains the subclassesIndividualGoal and GroupGoal, as range.In particular we illustrate which goals we assigned to the context community.A community is a group of friends sharing particular interests.Main goals of people in a community are having fun, connect with each other and being accepted by the other members.
Therefore, looking at our Social Goal ontology, we can assume that Identity, SharedCommunication and Interdependence can be appropriate social goals for community.To do this we simply use the property hasGoal that, as previously stated, links the class SocialContexts with the class Goal.Moreover we also want to specify whether we are considering individual goals or group goals.The property hasGoal has therefore two subproperties: has IndividualGoal and hasGroupGoal.We define restrictions over these properties exactly how we did for contexts features (see Section 5.1).This solution gives us the possibility to associate specific individual or group goals to our class community.The following Figure 2 shows OnSocial main categories and some of its subclasses.The main restrictions and datatype properties are also shown.

Evaluation
To test our knowledge base and in particular the Semantic Layer of So Smart, we developed a web-based application prototype, exploiting Servlets and JSP as main technologies, with the Jena framework 5 along with Pellet reasoner.Semantic Layer (Section 5) is composed by the context ontologies, by a music domain ontology and by a database for user data.Users are asked to register through their Facebook account, which the system uses to collect their public profiles using Facebook Social Graph API through RestFb library 6 .In order to gather users' etwork and demographic information we ask every n single user to explicitly identify herself and provide the name of the people she is with.In this first version of the prototype 7 , we gather users' interests by asking every single user to fill a short form with her preferences about about music, sport, cinema and their subcategories.For each group detected, our prototype gives an output of 0 < n < 3 social contexts, each one associated to a set of goals.Each social context inferred is ranked according to a weight associated during the inference process.This weight w is based on network topology and it is calculated by multiplying values of the following properties: Size, Density and Type of connection.Values of each property have been associated to a numerical range going from 1 to N following a scale going from small to large for size, clique to sparse for Density, relative to unknown for Type of connection.Our ranking prioritizes small clustered social networks therefore contexts with a small value of w figure the top of the output list.

The Experiment
This section describes the experiment that we conducted for the evaluation.1) Hypothesis.We assumed that our social context model can positively infer a social context in a shared environment of people and objects.To validate this hypothesis, we tested the accuracy of the social context inference.
2) Subjects.The sample included 33 subjects, 25 -60 years old, recruited according to a judgmental sampling strategy8 so that we could control the correctness of social context inference.Users have been divided into 1 tribe, 2 work, 2 families, 2 public and 1 romantic.
3) Experiment set up.We installed our prototy pre-defined social contexts (see Section 3.1): 2 communities, pe on a la ontext inference accuracy w ptop in two different locations: a living room and an office.Right before starting members have been asked to nominate a group "leader" who performed the actions required by the system.Each member was asked to participate to the whole experience looking at the laptop.The leader needed to log into the system and to indicate the users she/he was with.4) Measures.To test social c e compare the lists of social contexts and social goals generated by our framework with groups defined for the experimental setting.First we looked at the whole set of contexts inferred for each group.We used a boolean variable x = 1, 0 to define whether or not the social context expected was in the output set.We then calculated the inference accuracy by using two measures: Precision and Recall.The first is defined as the ratio of correct contexts inferred to total number of contexts inferred as shown in Equation (2).
Since our prototype infers up to three different contexts fo text inferred to r each group detected the Precision expected cannot be close to one.We therefore calculate it by considering only the first context of the set list inferred.
Recall is defined as the ratio of correct con total number of relevant context available.Equation (3) shows its equation.
We then looked at the whole set of social context in right context is not in the set; osition of the set lis f the right context is in the second position of the se the right context is in the first position of the set lis order to evaluate the correctness of our ranking we ca ferred and in particular at their ranking.We associated to each context an absolute values according to its own ranking. 0 where f is the expected value, y is the absolute value and

Results
ation our prototype inferred a total of 30

Discussion and Future Work
powering

REFERENCES
[1] A. Dey, "Und ontext," Personal i i N is the total number of observation, in this case N = 10.In statistics, the mean absolute error (MAE) is a quantity used to measure how close forecasts or predictions are to the eventual outcomes and can assume values from 0 to 1.
During the evalu social contexts and their related social goals.Since we knew the type of contexts we were testing, it was easy to compare results.The Precision ratio is 0.8 and the Recall is 0.9 with only one case where the expected context was not in the output list.Precision represents the probability that a inferred context is correct and Recall represents the probability that a correct context will be inferred.Their values affirm the positive behavior of our prototype that was able to correctly infer a large number of contexts according to our expectations.Finally the calculated value of the Mean Absolute Error is 0.2.This data confirm that our knowledge model is able to make good prediction of social contexts with a not significant error.Since we wanted to test if our social context model was able positively infer a social context in a shared environment of people and objects, we can conclude that the evaluation validated out hypothesis considering also the approximations we made for Precision and values of ranking position.
This paper introduced a model for em networked objects with social context awareness.We illus-trated our formalization of social contexts and we presented OnSocial an ontology that represents users' social contexts and social goals and that serves as a semantic model for context-aware agents.Our social oriented approach for modeling contexts relies on the idea of looking at on social network structures and user data for context classification and reasoning.We gave an overview of our semantic model structure and of the main categories of our ontology.The preliminary test described above aimed at evaluating the effectiveness of our framework with respect to social context inference.The evaluation used a web-based application proto-type and a small sample.We focused only on a reduced set of contexts (community, family, tribe, work, public, romantic).Despite of these limitations, the results are promising.For a great number of the cases we were able to generate the expected social context and users' and group' ratings were high and almost every user showed that the recommendation proposed was correct.This work represents the backbone of a wider project that aims at providing social context awareness to network.

Figure 1 .
Figure 1.The Semantic layer in So Smart.