Personal Research Main Page
Main Ideas
All research projects are founded on main ideas. Here are the main ideas that are underlying to the GraphApps project.
Idea 1: In the software engineering world, our ways of representing knowledge are bad, inefficient and non evolutive, being at the programming level or at the data level. This fact generates massive costs and pain in evolution of software or evolution of data storage. In one formula: Software is far from beware "soft".
Idea 2: Graphs enable better knowledge representation, both static and within the evolution dynamics of programs and data. For instance, graphs can be used to address the technical debt problem (see here and here) or to address complex data migration (see here).
Idea 3: Graph transformations are at the heart of new software engineering paradigms, such as graph-oriented programming (see here and here) or semantic data migration (see here). For sure, a new generation of tools is required to be efficient with those paradigms (design, programming languages, data storage).
Idea 4: With a real evolutive software and data, the total worldwide software effort could be divided by more than 2, probably 3, which means:
- An enormous worldwide gain of productivity;
- A capability of evolving the business processes faster than ever before;
- A convergence of the design processes of software creation, software evolution and refactoring;
- A different mindset based on graph representation of knowledge and graph transformations for business rules.
The Graph Transformations at the center
See the Graph transformations page.
Industrial Projects
2 main industrial projects were developed based on the 4 ideas and are implementing concepts described in the graph transformation page:
- GraphApps project project (2013-2018)
- Semantic data migration project (2018-now)
Open-source projects
Here is a list:
- The graph repo: tests on graph transformations (Python project).
- The graphappsjs repo, which is targeting the same objective but analyzes the link of the programming language in that problem (JS project).
- The csv2rdf repo: able to turn a CSV file into RDF with a graph transformation grammar (Python project).
- The rdfviz repo proposes to visualize rdf graph data (Python project).
- The ontovisu repo aims at enabling the neighborhood-based visual navigation in RDF graph data (JS project).
More
- UML to RDF considerations - Updated June 2020
- Reflections on industry data
- Towards a graph-oriented programming language?
- Resources
(June 2020)