Overall Objectives
Scientific Foundations
Application Domains
New Results
Contracts and Grants with Industry
Other Grants and Activities

Section: New Results

Keywords : Knowledge Representation, Knowledge Engineering, Knowledge Management, Corporate Memory, Knowledge Server, Semantic Web, Semantic Web Server, XML, RDF, OWL, Conceptual Graphs, Graphs, Ontology, Information Retrieval, Web services.

Knowledge Graph Representation

The goal of this research direction is to propose a framework to develop applications at the knowledge level i.e. a framework where data structures and processing can be designed relying on ontology-oriented models and ontology-based inferences. We want to provide functionalities (e.g. search, clustering, statistics, etc.) independent from the low-level implementation details (storage, distribution, provenance, etc). We aim at developing a family of graph-characteristic inferences for simulating semantic distances used in approximate searching, clustering, and suggesting. We will start abstracting graph structures, indexing and operations and generalize representations and operators.

Corese Semantic Web Engine

Keywords : Knowledge Representation, Semantic Web, Semantic Web Server, XML, RDF, OWL, SPARQL, Conceptual Graphs, Graphs, Ontology, Information Retrieval, Semantic search engine, Web services.

Participants : Virginie Bottollier, Olivier Corby [ resp. ] , Fabien Gandon.

Corese relies on the conceptual graph model to implement RDF/S and SPARQL. It is now open source with CeCILL-C free software license.

The Edelweiss team received a second year grant from INRIA for an engineer to participate in the development of Corese. A new version of Corese has been released ( ).


We have introduced a convention to integrate path matching into SPARQL, following [70] , [95] . We have developed the corresponding algorithm with regular expression matching. The query below matches any path between two resources:

?x $path ?y

The query below matches any path composed of relations that are subproperties of c:SomeRelation :

?x c:SomeRelation::$path ?y

In addition to path match, it is possible to enumerate the relations of the path by applying the SPARQL graph pattern on the path variable.

graph $path { ?a ?p ?b }

It is possible to restrict the length of paths using the pathLength() function.

filter( pathLength($path) >= 3 )

The path relations can match a regular expression. For example the regular expression below enumerates the elements of a RDF list, i.e. zero or more rdf:rest followed by one rdf:first .

?x $path ?y

filter(match($path,  star(rdf:rest) && rdf:first))

Regular expressions are made of property names combined with operators: concatenation, disjunction, negation and iterations.


We have proposed a design pattern for contextual metadata. It enables to define hierarchy of states where one state inherits the triples from its ancestors. The design pattern uses a cos:subStateOf transitive relation.

We propose a slight syntactic extension to SPARQL that compiles to standard SPARQL.

state ?s  { PATTERN }

compiles to

graph ?si { PATTERN } ?s cos:subStateOf ?si


We have introduced some extensions to SPARQL:

We have extended Corese RDF Rule language with a production rule version that enables function calls in conclusions.

Eventually we have designed an API and a factory for Corese.


In order to speed up RDF/XML loading we have developped a translator from XML/RDF format to NTriple format. Loading in NTriple format is now two times faster.

We have integrated into Corese an RDFa parser that enables to extract RDF triples from XHTML documents under the RDFa convention.

We have proposed an extension to RDF/XML that enables to specify the URI for named grahs. The convention consists of adding an cos:graph attribute, with an URI as value, in the RDF/XML markup. The inner triples of the tag with cos:graph belong to the URI that is the value of the attribute [Oops!] , [Oops!] .

<c:Person rdf:about='#John'>

  <c:address cos:graph=''>

    Sophia Antipolis</c:address>

  <c:address cos:graph=''>



RDFa Parser

Keywords : Semantic Web, RDF, RDFa.

Participant : Fabien Gandon.

In addition to our work on a GRDDL transformation for RDFa we embedded the resulting transformation into a java library to provide a Lightweight RDFa Parser in Java. This parser is available as freeware and under the non viral open-source licence CeCILL-C. It uses Java 1.5 and works only with well-formed XHTML documents allowing us to extract RDF triples embedded in XHTML Web pages. .

RDF expressiveness

Keywords : Semantic Web, RDF.

Participants : Olivier Corby, Hacène Cherfi.

We have participated in the definition of primitives for expressing some features resulted from engineering activity demand. Using built-in capabilities in RDF(S) and SPARQL we have proposed some easy capabilities to express: order, quantity, units and various metadata on RDF triples and SPARQL result queries [Oops!] . This work was carried out in the framework of the Sevenpro IST project.

Graph-based knowledge representation languages

Keywords : Knowledge Representation, Semantic Web, XML, RDF, OWL, SPARQL, Conceptual Graphs, Graphs.

Participant : Jean-François Baget.

We have been involved in extending graph-based knowledge representation languages such as conceptual graphs and the RDF/RDFS semantic Web language. A first extension has been the introduction of RDF-like datatypes in conceptual graphs. For added expressivity, we have also introduced computed relations, and have extended the language formal semantics to take into account these new objects [Oops!] . We have studied the effects of different semantic variations on the computational properties of the deduction problem. This language has already been extended to a rules-based language, and can be considered as a first step towards the definition of formal semantics for the SPARQL query language. A second work, in collaboration with the EXMO project (INRIA Rhône-Alpes), has been the extension of both the RDF and the SPARQL query languages with regular expressions, allowing to use paths of unknown length in a query [Oops!] .

Knowledge Graph Platform

Keywords : Knowledge Representation, Semantic Web, XML, RDF, OWL, SPAR@L, Conceptual Graphs, Graphs, Ontology.

Participants : Jean-François Baget, Olivier Corby, Rose Dieng-Kuntz, Catherine Faron-Zucker, Fabien Gandon [ resp. ] , Alain Giboin.

This work was performed in the framework of Griwes, a one-year COLOR INRIA project on graph-based representation and reasoning and corresponding programmatic interface with a special emphasis on semantic Web applications. This collaboratiove project between Edelweiss, RCR from LIRMM, and I3S from UNSA aims to design a shared and generic platform for graph-based knowledge representation and reasoning. We are interested in multiple languages of representation, such as conceptual graphs, RDF/S, and in various extensions of these languages.

To abstract and factorize mechanisms common to these various languages will allow the simultaneous development of extensions for all the languages defined on these core abstractions; rather than to develop transformations from one language to another, one will thus be interested in a generic language core. An important challenge here is not to sacrifice the algorithmic efficiency to generic designs. Current results of this project are available online ( ) and can be summarized as follows:

(1) a list of motivating scenarios against which we defined the scope of our shared model,

(2) a framework definition distinguishing three layers of abstraction and one transversal component for interaction:

We have proposed a first draft of the two first layers.

Management and Composition of Semantic Web Services

Keywords : Knowledge Representation, Semantic Web, Semantic Web services.

Participant : Mohamed Bennis.

The orchestration Web services architecture in e-WOK_HUB project is based on a semantic annotation of descriptors of services. First, we made a comparative study between the various proposals in the semantic Web service. We chose to describe services with Semantic Annotation Web Service Description Language (SAWSDL) which is a W3C recommendation ( ). In this case we developed a standalone tool about semantic Web service. This tool helps users to add semantic concepts to WSDL file, a standard language of description of Web service. The semantic concepts used are about the elements of Ontology files (RDFS, OWL).

In order to use these semantic capacities added in the description of the Web Service, we specified an approach of deployment of the services by using Corese, a semantic engine. Thus, we developed a XSL transformation of SAWSDL file towards RDFS ontology. This transformation is inspired from two specifications:

This transformation makes possible to extract the data in RDF formal ontology starting from a SAWSDL document. Indeed, our approach is based on GRDDL specification (Gleaning Resource Descriptions from Dialects of Languages ( )). This mechanism introduces markup based on existing standards for declaring that XML document includes data compatible with the Resource Description Framework (RDF).

The final aim of this work is to help users to find out Web Services and build processes by an effective composition of the Web services.

Distributed Memory Servers

Keywords : Distribution, Semantic Web, Web services.

Participants : Cheikh Niang, Fabien Gandon.

The integration of the different sources of an engineering memory requires the development and deployment of semantic servers, holding the Corporate Knowledge Repository (generic ontologies, global models and semantic annotations), dispatching query results to requesting applications, and performing changes to ontologies on request. Such a component provides the infrastructure (API and server) to semantically query the repository of annotations and ontologies, and is accessed by other components for interacting with the knowledge sources. In a first stage we address two facets of this problem:

  1. the creation of a generic Web application to provide:

    • a service wrapping the API of the search engine (Corese) as a Web Service

    • a service to initiate / manage a distributed search

    • a service to participate in a distributed search

    • an interface to register / declare peer servers

    • an interface to visualize the query solving process

  2. the design of a protocol to propagate queries and results efficiently (a distributed SPARQL over SOAP or HTTP), by relying on: automatic content summary generation for the different bases and query routing based on these summaries. We are currently focusing on the structure and generation of these summaries.

Approximate Matching in an Engineering Memory

Keywords : Corporate memory, Semantic Web, Approximate search, Semantic distance.

Participants : Ibrahima Diop, Fabien Gandon.

In order to allow efficient reuse of engineering knowledge from past cases, we are developing approximate search mechanisms to retrieve design cases even if they are not perfect matches but only close enough to provide inspiration in finding engineering solutions [Oops!] . To do so, ontology-based approximation inferences have been proposed and extended. We studied a first metric space: the taxonomy of types with a depth attenuated path-length distance. We identified a number of constraints for this to work properly and in particular we proposed a refinement of the end-user ontologies to avoid mixing different hierarchies (e.g. taxonomy, partonomy). The new taxonomy was tested on some annotations and the resulting schema and annotations were loaded and queried in Corese successfully.

We are proposing and experimenting with several semantic distances for ontology-based approximation. We consider:

We also consider the interface for exploring outputs, suggesting cases for helping with a current case or clustering views for navigating the memory as well as interfaces to capture customization (e.g. weights, relevant relations)

Our approach is in seven steps:

  1. tests with current hierarchy-based distance and current data

  2. state of the art on existing distances and the tasks they can be used for

  3. revision of metric space (ontology) to ensure the quality of its structure

  4. test on a real scenario with real data (CAD and other resource annotations)

  5. prototype with recurrent queries for typical patterns

  6. proposal of different distances

  7. prototype of search with customization.

This work is applied to the Sevenpro IST project.

Virtual Reality Interaction based on knowledge-based reasoning

Keywords : Corporate memory, Semantic Web, Virtual Reality, Reasoning.

Participants : Emmanuel Jamin, Olivier Corby, Fabien Gandon.

The knowledge, mainly organized in an engineering knowledge base, is static; whereas an engineering system is dynamic. Therefore we need a strategy to reflect the dynamicity of a system by using reasoning with a knowledge-based system.

To solve this sort of interaction problem, an intermediate module had to establish communications between the inference engine (Corese) and the VR module (VRM). In the SevenPro project, this intermediate module is called "VR reasoning module" (VR-RM) [Oops!] . It consists of a user friendly GUI, a number of reasoning methods and predefined VR scenarios and is a rule-based module, i.e. it contains condition specifications that enrich the knowledge base.

Through this intermediate module, Corese is interfaced with the VR scene. From an architecture viewpoint, we developed a Java API to share methods of each module and to have a bidirectional communication between them. One means to state communication is to retrieve object knowledge from the VR scene. To organize these different module communications, the Java API is composed of specific services:

Based on this API, a Corese GUI is implemented to edit, display results of modules communication and results of reasoning process.

In parallel to the communication service modules, reasoning methods are used to take benefits from the knowledge base according to VR user actions. One of these methods is Information retrieval based. The first method is a query-based reasoning approach. The RDF graph is a set of triples (resource, property and value). A triple can be related to many other ones in the RDF graph. These triples could be issued from different data files based on different RDFS ontologies. The goal is to scrupulously search the graph by means of the triples to obtain inferences about implicit knowledge.

The second approach is rule-based reasoning. The rule mechanism enriches the expressiveness of the knowledge base. Adding some kinds of relations (such as transitivity, symmetry, etc.) to the graph, for example, could be relevant. The principle of the rule-based mechanism is based on defining graph conditions under which the graph has to be transformed as well as defining the graph transformation content. The rule formalism is an XML format which includes SPARQL parts in two specific tags, e.g. <IF> for condition and <THEN> for transformation content.

A user mode for the co-action of semantic technology and virtual reality was developed to facilitate enhanced interaction/representation of product information/knowledge in a VR scene. It is implemented and tested. The answer time for the retrieval of so-called supplementary data is satisfactory. Control of object behavior in a VR scenario by the VR reasoning module is in its initial phases to state whether, or not, it performs accurately.

The application of different reasoning approaches shows an improvement in knowledge reuse and sharing. The reasoning transforms implicit knowledge to usable information for different applications. In the context of virtual reality, the dynamic aspect of reasoning is in its infancy and will need further research study.

Semantic Server Agent integration

Keywords : Corporate memory, Semantic Web, Virtual Reality, SPARQL, Web service.

Participants : Emmanuel Jamin, Fabien Gandon.

The main objective of the Semantic Server Agent (SSA) integration is to provide extended functionalities of retrieval to assist virtual reality (VR) uses. For that, Corese has to become a knowledge engine for knowledge integration. SevenPro project has participated in the definition of SPARQL queries to the Semantic Server Agent (SSA) for different modules of SevenPro (mainly VR and Engineering memory tool). Semantic-systems (Spain) provides a heterogeneous knowledge annotation repository (from documentations, industrial knowledge bases, etc.) which can be retrieved by Web Services. In order to implement this integration, Corese is considered as a mediation search engine between the VR module and the heterogeneous knowledge repositories. Hence, it can receive a SPARQL query from the VRM, ask the SSA to retrieve efficient knowledge (RDF triples), load this specific knowledge and return a generic result for the VRM. One of the difficulties is to specify appropriate queries according to user needs.


Logo Inria