Formalizing Models and Implementing Social Semantic Web Applications: calculating on heterogeneous joined typed graphs of the web.

The models identified in the previous section need to be formalized in order to automate their analysis and processing when supporting web applications.

What kind of formalism is the best suited for such models? We defend that the network nature of linked data, social communities and service compositions on the web and the large variety of types of links that compose them call for typed graphs as formalized in languages like conceptual graphs or RDF/S. We intend to build on our experience with such formalisms to identify, propose and characterize fragments of typed graph formalisms best suited for each type of model identified before.

Each type of network of the web is not an isolated island. Networks interact with each other: the networks of communities influence the message flows, their subjects and types, the semantic links between terms interact with the links between sites and vice-versa, etc.

How do we analyze these typed graph structures and their interactions? We believe that type-based inference algorithms (e.g. conceptual graph projection, inference rules) and type-parameterized operators (e.g. parameterized betweeness centrality) provide declarative formalisms to flexibly define operations to monitor, filter, query, mine, validate, protect, etc. these imbricated graph structures taking into account constraints spanning several types of network at once.

These graphs are not available in a single central repository but distributed over many different sources. Some sub-graphs are small and local (e.g. a users’ profile on a device), some are huge and hosted on clusters (e.g. Wikipedia), some are largely stable (e.g. thesaurus of Latin), some change several times per second (e.g. social network statuses), etc.

How do we support different graph life-cycles, calculations and characteristics in a coherent and understandable way? We believe that moving to graphs languages with open-world logics, temporal aspects, distributed and loosely coupled algorithms and model-driven programming relying on higher abstractions (e.g. formal ontologies) provides an adequate theoretical framework to allow at the same time the specification and operationalization of the models and algorithms and the opening of these black boxes to be able to explain, document, prove and trace results for the users.