SemApps: A (Linked-)Data Management System based on SOLID and the semantic web
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Rouyer, Guillaume
SemApps is a collaborative, interoperable, generic and modular knowledge management system : Based on linked data & semantic web technologies and the SOLID specification, it allows the co-production of knowledge graphs. Built on open standards, it enables the development of interoperable information systems. Designed on a modular architecture, it gives everyone the opportunity to build and customize platforms on demand. SemApps is an open-source software project whose development is coordinated by the Virtual Assembly (VA), a French-based non-profit organization bringing together about fifty developers and activists. In a context of strong fragmentation of dynamics in the field of transition, VA aims to develop commons (digital tools, methodologies and projects) to promote the interconnection of transition movements. SemApps is one of the Virtual Assembly's core projects. Its mission is to foster interconnections between communities by creating synergies between their information systems. SemApps is a collaborative, interoperable, generic and modular knowledge management system : - Based on semantic web technologies and the SOLID specification, it allows the co-production of knowledge graphs. - Built on open standards, it enables the development of interoperable information systems. - Designed on a modular architecture, it gives everyone the opportunity to build and customize platforms on demand. Its code is released under the Apache 2.0 free license.
 Hello everyone. First of all, thank you to the FOSDEM organizers for selecting our project and thank you also to you for being here for this presentation of CEM-Apps, which will last 50 minutes. My name is Adrian, I'm an agronomist and a friend of the Virtual Assembly. I'm a user of CEM-Apps through a project which aims at interconnect agricultural actors in Normandy, France. So, what is CEM-Apps? CEM-Apps is an open source software project. Its development is coordinated by the Virtual Assembly, a French-based non-profit organization bringing together about 50 developers and activists. In a context of strong fragmentation of dynamics in the field of transition, VA aims to develop commons such as digital tools, methodologies and projects to promote the interconnection of transition movements. CEM-Apps is one of the Virtual Assembly's core projects. Its mission is to foster interconnection between communities by creating synergies between their platforms. The project is starting. It should reach maturity during the year 2021 with around 10 first implementations. Its code is released under the Apache 2.03 license. On this image, different actors, a company, a university, a community and two people use CEM-Apps and a pair of ontology that we are going to present you. Each one of them are autonomous. By sharing same standards in a common language, they can however exchange data in a decentralized way. The core team of CEM-Apps is composed of Simon Louvet, Sebastian Rosette, Jeremy Dufres, Yannick Duté, Matilde Savage, Thomas Frankart, Pierre Bouvière Moulere and the one I'm replacing actually, Guillaume Rouillere. Let's talk a bit about the context. The hypothesis that the Virtual Assembly is putting forward is that the web and the social structures of our societies suffer from their centralized and siloed architecture. They prevent the logics of interoperability, communication, mutualization, collaboration, which leads to a lack of efficiency of our technical and social systems. We identified six main problems that we are going to present. The first one is about online privacy, security and trust. The cause. Social networks centralize all their user data into one platform. The effect that our ownership issues lead to mistrust and fear to engage. The social network operator can see all the data and in order to share it has to own it too. The need, distributed identity, authentication, reputation, trust and search mechanism allowing each actor to keep ownership of the data and to share it with flexible access control rules to any other actor or group of actor in the world. The second problem is the fragmentation. The cause. Each social network operates as a silo, specializing in specific data tips. The effect. Data, interactions, identities, profile and virtual meeting spaces are fragmented. As people need to work with different actors, each using a preferred silo network, each actor's data becomes fragmented over different networks. Each user also needs to register on each application to have many passwords, to fragment its identity, to duplicate its data, thereby losing information, efficiency and time. The need, data and identities should easily be linked across the world. Context bound information. The cause. The meaning of mostly JSON data published by current web services are still context bound to the services provider and make poor use of linkage, which prevents any materialized development of application and services. The effect. Each web project develops one application with one database leading to strong inefficiencies. The need. Use semantic web standards in order to decontextualize information, making it linkable across website contexts. Bore. Lake of interoperability. Cause. Each web's 2.0 API is different. The effect. A user must register in the platforms of the different communities is involved in if he wants to exchange something across them. While a programmer must write different code to interact with each website. Even when the best types of objects are working with is the same. The hypothesis that the virtual assembly is putting forward is that the web and the social structures protocol of our social DP and standard ontology will generate interoperability and therefore communication, collaboration and true mutualization. 5 suboptimal technologies for the development of web applications. The cause. Each web application requires strongly entangled code between client and server. The effect. The cost of building web applications cannot be amortized easily with a lot of duplication of functionalities across platforms. The need. Using linked data platform enables generalized accessible web components that could work with any web server across the world, dividing the needed time for developing web application onto many stakeholders. 6 clash between economical and ethical motivations. The cause. In the current web of massively sealed centralized platform, the user get free access to a service in exchange for his data. The effect. Value created by the crowd is captured by very few actors. The need. Enable people to take back data ownership and the attached value. Our objective is to use open protocols as a way to foster the development of P2P social networks on the web and in real life. This approach should allow us to build much more ethical and efficient systems. At the center of this diagram, we have open protocols, W3C standards and solid specifications. Not a company, not a platform, not a technology. We can read this diagram as follows. If the first platform uses these protocols to empower its community and if the second platform uses these same protocols to empower its own community, then platform 1 and 2 will be interoperable and communities 1 and 2 will be able to connect, communicate, cooperate. Thus generating a network effect and so on. If the third platform uses these same protocols to empower its own community, then it will be able to interoperate with platforms 1 and 2 and with communities 1 and 2. And the network effect will strengthen and as the ecosystem grows, as the platform pulls their code, their resources and their user communities. At some point, as with the open source movement in its fight against the proprietary software, one can imagine that interoperable and cooperative systems will be more efficient than siloed and competitive systems. Technically, CEMAPS is based on the solid specifications. So let's discover the solid project itself. Solid is a proposed set of conversions and tools for building the centralized social application based on linked data principles. Solid is modular and extensible. It relies as much as possible on existing W3C standards and protocols. This is an international project led by the inventor of the web, Tim Berners-Lee. Solid aims to complete the stake of web standards to enable the development of a distributed, secure and social web. Solid is a set of specifications related to identity, profiles, authentication, authentication, authorization and access control, content representation, reading and writing resources, social web app protocols, recommendation for server implementations, recommendation for client app implementations. These specifications must allow the development of a distributed, secure and social web. Hey, I'm Pierre and together we will dig into the next standard CEMAPS is using ActivityPub. If you're keen on alternatives to social networks in GAFAM, you might know Mastodon, Peertube, Funkware. So you probably have heard about the Fediverse and ActivityPub. So a bit of concept first. ActivityPub is a protocol standard for decentralized social networks, which can be also extended to create various kinds of federated apps. So it's quite simple. The standard comes with two different ports, a client to server API and a server to server API. So the service, the application can decide if it wants to implement only one or both of them. It's not mandatory to implement both. And the decision will just depend on the needs of your project. Also, if you're a front-end developer, you might use the client to server API. And if you're focused on the federation part, you will focus on the server to server. So what are the ingredients it will require? The message itself will be formatted with ActivityPub and it must be attributed to an ActivityPub actor on the left. The actor must be discoverable via webfinger and the delivery itself must be cryptographically signed by the actor. So it's quite complex. Let's see a precise example through Mastodon. Mastodon is a part of the Fediverse for which you have an overview here. And it can talk to Pertube, GNU, Social, OpenQL, etc. So first part of the standard is the actor. The actor is a publicly accessible GZNLD document answering the question who. GZNLD can be a bit tricky, complicated, but it's also possible to use a simple GZN with the at context attributes. So you see here. So here is what the actor document could look like. The ID must be the URL of the document. And all the URLs have to use HTTPS. It's mandatory for ActivityPub. You need to include an inbox. Even if you don't plan receiving messages, this is a Mastodon example. It's a legacy proposal. So Mastodon requires it. The most complicated part of this document is the public key because it involves the cryptography. The GZNLD will in this case refer to the actor itself with a fragment, the part after the hash to identify it. This is because we are not going to host the key in a separate document between we could. Webfinger. Webfinger allows us to ask a website, do you have a user with this username and receive resource links to the response. So subject property here consists of the username and the domain you are hosting on. This is how the actor will be stored on the Mastodon server and how people will be able to mention in the tweet, in the publications. Only one link is required in the Webfinger response. And it's linked to the actor document we previously seen. So the message. The message in ActivityPub consists of two parts. The message itself, the object and a wrapper that will communicate what's happening with the message, the activity. In our case it's going to be a create activity. Let's say hello world response in my publication about writing the blog post. With the in reply to property we are changing our message to a parent. The content property may contain HTML. Of course it will be sanitized by the receiving servers according to their needs. You see different implementations when defined used for a different set of markup. And Mastodon will only keep PBRI and span tags which is specific to Mastodon obviously. So next question is how do we send this document over? Where do we send it? And how will Mastodon be able to trust it? Which is HTTP signatures to deliver our message. And we will use a post to the inbox of the person we are replaying to. Here the key ID refers to public key of our actor. The header lists the headers that are used for building the signature. And then finally the signature string itself. The order of the header must be the same in plain text and within the to be to be signed string and headers names are always lowercase. Yeah and that's it for activity pub. C maps, solid and activity pub are based on the semantic web which can also be called linked data. The semantic web is based on a standardized data format called RDF resource description framework. In the RDF world all data is expressed as tripoles composed of a subject, a predicate and an object. For example Alice is a member of virtual assembly. Let's make the analogy with human languages. They are structured by grammar and vocabulary. RDF can be associated with the grammar of the semantic web. Then on the basis of RDF we can define vocabularies called ontologies. Sharing a common language enables communication. The same is true for platform on the web. By sharing common ontologies different platforms can speak the same language and therefore communicate. Let's focus now on the per ontology which objective is to describe in a common way communities in order to facilitate interoperability and collaboration across communities. The acronym PER is for project actor ID and resource. The objective of the PER ontology is to foster the development of PER to PER networks. That could be called IPER web. Let's focus on the actor's category. The concepts of person and organization are linked by a semantic link meaning is affiliated to. The PER ontology allows us to say the person named Alice is affiliated to the organization named virtual assembly. Then we can see the actors can be involved in activities. These activities can be tasks, projects, events. We will therefore be able to say the organization named virtual assembly is involved in the project named CIMAPS. The parentology manipulates a number of concepts useful to describe the diversity of human organization such as people, organization, projects, tasks, events, skills, resources, plays, documents, finalities, challenges, time, etc. These concepts are logically and semantically linked all together. We will implement PER into CIMAPS in order to allow our user communities to interoperate their data and collaborate through the sharing of a common language, a common ontology. The parentology is published on the web and freely accessible to those who would like to implement it. It was very important to share this context so that you could understand the challenges of CIMAPS. Now we will talk more concretely about the technical specificities of the software and its main use cases. The main objectives of CIMAPS are develop a semantic toolbox, a linked data management system, deploy ontologies, functionalities and interfaces according to the needs of user communities, allow the easiest handling as possible. CIMAPS will allow to deploy services such as semantic mapping, collaborative knowledge bases, territorial and thematic information systems, decentralized social network, business applications. CIMAPS is ontology driven, interoperable, it allows complex requests, collaborative editing, authentication and access control. It is highly extensible. The first features we are developing are knowledge base, directory, agenda, project management, marketplace, social networks. CIMAPS is composed of three layers, the triple store, the middleware, the app. Middlewares are interoperable and apps can interact with different middlewares. CIMAPS middleware is based on the following protocols, link data platform, Sparkle, OWL, WebID, WebICL, Shaco, ActivityPub. CIMAPS middleware is based with Node.js. It is based on a microservices architecture we use for that molecular.js. This allows you to use only the services you need. For instance, the triple store, the LDP, the Sparkle endpoint and the WebID services. You can also add specific services. For instance, the ActivityPub services or other like a mailer, webhook or push notification services. We also develop connectors to facilitate the user of LDP, Sparkle and ActivityPub protocols on the interface side. We started developing connectors for starting blocks, LDFlex, RedX and React admin. We try to develop CIMAPS according to eight conception principles. Interoperability, modularity, generosity, adaptability, scalability, accessibility, opening and user friendliness. Going back to the beginning of the presentation, we hope you do now understand this CIMAPS, which are one of the results of the implementation of our work. We will now move on to the demos. The first one is about a project called Alcupelago. It is a CIMAPS use case for which we have implemented the pair ontology. I'm going to present you some demos about CIMAPS. My name is Guillaume. I'm going to first show you this instance of CIMAPS that we deployed for an organization that we are part of with the team of CIMAPS. This organization is called Geo-tural Assembly. As you can see, this is my profile on these instance of CIMAPS. I'm also part of another organization that is called Transition Pathways. It's an organization for which we are going to implement another instance of CIMAPS. As you can see, CIMAPS allows to describe organizations and their context. For example, here we can see that Transition Pathways has members. Among these members, there is myself. This interface is based on React admin framework that is developed by Marmalab, a French organization. We use it for different implementations like another one, which is called Pass-Ret Normandie. I'm currently in Normandie. This is a place where Leaves also had Rien that presented the first part of this presentation. We developed also another instance for an ecosystem based in Paris, which is called Grand Voison that gathers around 80 organizations. This interface is one interface, but we could use CIMAPS with other interfaces. For example, you can deploy interfaces in graph like Flowview that Yannick will present you a bit more just after. But we could also use other interfaces like the interfaces based on the web components that are developing our friends from starting blocks. For this demo, we are going to use an instance of CIMAPS that we are developing for the Troy University of Technology. This instance aims to make semantic mapping of the organizations which are involved in the renewable energies domain. We have for the moment five concepts. The first one is organizations. Then we have types of organizations, event, place and scene. If we click on each one of them, we have a list of each kind of concept. Okay, which is interesting with CIMAPS is that we are going to follow some semantic links. For example, if we click on virtual assembly, we are going to be able to follow a link that is normally named as partner. So for example, we are going to read this interface as follows virtual assembly has partners, data player, assembly virtual has partner, fabric, disenergy and so on. So it's not just an HTTP link, it's a semantic link. And so we can explore the graph of concepts that are semantically linked by semantic relations. For example, if we click on Pratsenair, we can see a description of Pratsenair and also identify some links that contextualize this Pratsenair node. For example, we can see that Pratsenair will participate, participates to a residence seminar, which is called Residence de la Fabrique des Energies à Prats-des-Molieux. And we can also identify that other organizations will participate to this meeting. Okay, this is the basis of this interface. We could also search some steps, but there is a little bug right now. And we can finally create some actors. We could create an organization like Inrupt. We will present Inrupt just after and add some data, for example, a shorter description, longer description. We could add a place, a kind of organization, for example, entreprise, business, company in French, some partners, for example, starting blocks, and some themes, system de formation or solid. Okay, and like that, we can create new data. CEMAPS is a collaborative link data management system. So for the moment, on this instance, there is no authentication or access control. But on other instances, for example, on Passred Normandie, we have here an authentication, also on Archipelago. And the objective will be to allow everybody to contribute together to this collaborative knowledge space. Okay, maybe it's sufficient. If you want to go further, we have a website which is called cemaps.org. Below, you will find our GitHub here, our matrix chat here. And you can also see the team, the governance, and some documentation around our project. And here, you will have other tutorials to discover and maybe install or contribute to CEMAPS. Thank you all and see you soon. I'm really happy to give you a quick overview of SparNatural. SparNatural is a tool which has built our friend Thomas Franca, he lives also in France, he's a friend of Assembly Virtuel. And he has developed this little application, which is a natural way, a visual way to build Sparkle queries. Those Sparkle requests, as you can see them on the right of the screen. I have a bigger window here. On the left is the concept and the information you feed, which will build the Sparkle request. So here, you see that I'm looking for an artwork. It's going to start again. I know it's in a museum in France. It's Le Louvre. It has been painted by a person, Leonardo Vinci, and also Michelangelo. And I know approximately the dates it has been painted after 15,000. On the below the screen, I see, we see the result and I can directly click to the Wikipedia resource. Here, SparNatural is connected to Wikipedia. We already connected to CEMAPS. Unfortunately, the website is KO today. But hopefully, in a couple of days, it will be back again. You can see it by yourself. Hi. Welcome to Flodio project. The aim of Flodio is first, to display semantic data in a network graph. Secondly, to help users to navigate easily into the graph using the flood concept. But what is a flood? Flood means fluid linked open data. It allows you to visualize data in a graph mode and in a page mode. For example, this interface is a cartography of CEMAPS data for the virtual assembly network. We can associate all the class of parentology with colors and easily display actor, project, organization, whatever. When you look at the network, it's really hard to analyze which node are linked with others. We are lost. Thanks to Flood concept, you will be able to concentrate yourself on a node and its neighbor. Let's see how does it work. When you click on the flood, the node opens and displays all its concept information. So you can easily read in a page mode all neighbors grouped by class and colors. When you click on the neighbors, you can navigate into the graph, jumping from flood to flood. Each time, the new open node takes the center of the screen. You can also search a node into the graph. You can pan or zoom. You can make a focus on a specific node. You can change the focus on another node. And return to the global network. You can also filter using class or properties. Example, if you don't want to see people, you can unselect person class. Hello, thanks very much to Semapps team for developing this open source, library and distributed Semantics server. I'm very happy to contribute to this project. And I like parentology. I hope the demos illustrated completely our work. As you can see, Semapps is a young project. We realized the proof of concepts in 2016. The development of the new version started just over a year ago. So far, we have laid the foundation for the project. We have several subprojects in progress, among which, at the core level, setup ACL rights, be able to link to Semapps instance, view user activities with activity pub, view the history of a resource, allow to create solid pods with Semapps, advanced search on Spark Natural. I have a completion on wiki data. For Aki Pelago, fully integrate the new version of pair register for an event, reserve a location integrating obel, solid plus XMPP chat, which Alice will present later on, interoperate Semapps with Mastodon, Piotr and Fediverse. At the interface level, view data in graphs, view data on a map, view data on a calendar, display personalized new feeds with activity pub. As Semapps matures, we are beginning to structure its business development. In this perspective, we are partnering with data players, a company close to the virtual assembly, which is the first one to bring Semapps to market. Our first clients are municipalities like Prats de Molo, universities like Technical University of Troyes, institutions like ADEM, the French Agency for Ecological Transition and the FABMOP, cooperative like Lacobes des Territoires, which I belong to, associations such as chemin de la transition, local low-tech or data food consortium. Hi, I'm Alice, community animator for the virtual assembly and starting blocks, and I'm glad to contribute to this video by introducing you the solid ecosystem. As we said before, solid is a project to re-appropriate the web by standardizing APAs. It's a set of specifications that allow enteroperability and give power back to the user for a more efficient and democratic web. The solid community is worldwide. The presentation of the ecosystem that we will try here is by no means exhaustive. We will only focus on few actors in order to give you a sample of the diversity of actors interested in solid and their use case. Inrupt is the American company that is seamlessly set up to develop the economic system of the solid projects. Inrupt is interested in the medical files, banking and more. The first use case interesting to share is the adoption of solid as a BBC. The goal is to develop user-stone-trink and constant-based content recombination with solid. Imagine what your BBC news feed would look like if it could be customized with historical data from other platforms such as Netflix without owning it. Another example is NatWest, a UK bank that also works with Inrupt to streamline digital interaction associated with customer life moment, such as name change at a wedding or restoration of a new business through anti-operability. Inrupt is the largest and most active company on the solid project. Starting Blocks is a cooperative that develops an open-source technology in order to quickly build solid applications at lower costs and with the least possible skills. As a cooperative, we strongly believe in community logic and the decentralization of power through the reappropriation of our digital tools. For us, open-source is central and radical because we want to make the development and the use of solid specification as easy as possible. This is the reason why all our production are under MIT license. We believe that this fight for the reappropriation of the web is a major societal issue. That's why our goal is to drastically reduce the development cost of application to all the greatest number of people to regain control of their digital tools. Our secret source is the marriage of web components with solid. We believe that these two standards have for us the vocation to work together. Indeed, solid standards allow us to reuse a component without having to re-adapt it to a new data format. Our first use case has been to equip the freelance community we come from, Happy Dev. Happy Dev is a freelance collective that actually composed of several small collectives that wanted to work together and share the networked effect without losing their autonomy. It's for Happy Dev that Starting Blocks developed Hubbell, a federated application that includes a chat, a job board and a skill directory. Hubbell's authority collective are already federated with the other instance of Starting Blocks. Contact us if you want to visit us there. Another use case we have is a European trade union. Trade union are independent entities that have difficulties to federate and to circulate information in a fluid way. We have developed a federated application for them that includes a collaborative intelligence tools, decision-making tools, even sharing and we have taken over the Hubbell directory as well. The objective is to improve cooperation between union to enable them to unit their string while maintaining their autonomy. We would be very happy to introduce you to our techno and to share our thoughts with you. Do not hesitate to send us a mail at salutatstartingblocks.com. Hello everyone, I'm Quentin, co-founder of Data Village, a personal data science company based in Belgium and our mission is to unlock the value of personal data for both the organizations and their consumers according to three immutable values. The first is people control, the second is privacy and the last but not least is full transparency. Most of us daily use digital services which means that every day we create a stream of online activities. These are all data and this is a never-growing database of personal information. However, the data economy model of today is wrong, the data is locked and the market is also locked and organizations are pushed to collect more and more data. Personal data is spread and duplicated making it possible for people to keep control. On the other hand, the interest of organizations to use personal data is growing especially when it comes to hyper personalization, augmented experiences, insights, surveys and so on. Now imagine we shift this model, a new model in which consumers could get a view of all their data and control them. Imagine that as an organization you could just pick and choose this data and extract insights in a minute with full privacy and without the burden of managing that data. We make it a reality by allowing the consumers to create and control their own digital twins, meaning a virtual representation of themselves based on all the data they create on a daily basis. Then organizations can use our so-called data passports to query their consumers' digital twins and acquire the insights they need in order to improve the digital user experiences and be able to reach the level of personalization of the internet giants. Along with the data passport, organizations can use our personal AI data cage, which is a confidential computing environment to perform AI data enrichment and matchmaking between their products and any personal data to extract derived data without breaking privacy. Our decentralized technology can serve many different sectors and help solve challenges such as better access to information, better health, better finance management or mobility among many others. We are Data Village. Thank you for your attention and don't hesitate to reach out at contact at datavillage.me. Thank you. Thank you. Hey everyone, my name is Jumein Itzma and I'm the CEO of Antalla. Antalla is a software company located in the Netherlands that focuses on building stuff with linked data. We've got an eDemocracy platform called ARGU, which is all about civic engagement, and the next year we'll be working a lot on solid projects. The first one will be the DAXPOD. This is a solid server built with Ruby on Rails. It's currently in development, but it will be open sourced in March 2021. Solid Search is our next project. This is going to be a search engine plus UI, which is modular and designed to be compatible with various solid implementations, including the community server. This is expected to be released in the last quarter of this year. And the third project is data deals and payments, which is all about making machine readable agreements between people who share data and who use data and enable that process to be monetized, powered by solid. This is also expected to be released in the final quarter of this year. If you've got any questions or want to just talk about solid stuff, get in touch. Bye. Thank you for your attention. As you see, we need some contributors to popularize our subjects. Hope you've liked this video and our authenticity. Let's get in touch.
 Hello everyone. First of all, thank you to the FOSDEM organizers for selecting our project  and thank you also to you for being here for this presentation of CEM-Apps, which will  last 50 minutes. My name is Adrian, I'm an agronomist and a friend of the Virtual Assembly.  I'm a user of CEM-Apps through a project which aims at interconnect agricultural actors  in Normandy, France. So, what is CEM-Apps? CEM-Apps is an open source software project.  Its development is coordinated by the Virtual Assembly, a French-based non-profit organization  bringing together about 50 developers and activists. In a context of strong fragmentation  of dynamics in the field of transition, VA aims to develop commons such as digital tools,  methodologies and projects to promote the interconnection of transition movements. CEM-Apps  is one of the Virtual Assembly's core projects. Its mission is to foster interconnection  between communities by creating synergies between their platforms. The project is starting.  It should reach maturity during the year 2021 with around 10 first implementations. Its  code is released under the Apache 2.03 license. On this image, different actors, a company,  a university, a community and two people use CEM-Apps and a pair of ontology that we are  going to present you. Each one of them are autonomous. By sharing same standards in a  common language, they can however exchange data in a decentralized way. The core team  of CEM-Apps is composed of Simon Louvet, Sebastian Rosette, Jeremy Dufres, Yannick Duté, Matilde  Savage, Thomas Frankart, Pierre Bouvière Moulere and the one I'm replacing actually,  Guillaume Rouillere. Let's talk a bit about the context. The hypothesis that the Virtual  Assembly is putting forward is that the web and the social structures of our societies  suffer from their centralized and siloed architecture. They prevent the logics of interoperability,  communication, mutualization, collaboration, which leads to a lack of efficiency of our  technical and social systems. We identified six main problems that we are going to present.  The first one is about online privacy, security and trust. The cause. Social networks centralize  all their user data into one platform. The effect that our ownership issues lead to mistrust  and fear to engage. The social network operator can see all the data and in order to share  it has to own it too. The need, distributed identity, authentication, reputation, trust  and search mechanism allowing each actor to keep ownership of the data and to share it  with flexible access control rules to any other actor or group of actor in the world.  The second problem is the fragmentation. The cause. Each social network operates as a  silo, specializing in specific data tips. The effect. Data, interactions, identities,  profile and virtual meeting spaces are fragmented. As people need to work with different actors,  each using a preferred silo network, each actor's data becomes fragmented over different  networks. Each user also needs to register on each application to have many passwords,  to fragment its identity, to duplicate its data, thereby losing information, efficiency  and time. The need, data and identities should easily be linked across the world.  Context bound information. The cause. The meaning of mostly JSON data published by  current web services are still context bound to the services provider and make poor use  of linkage, which prevents any materialized development of application and services.  The effect. Each web project develops one application with one database leading to strong inefficiencies.  The need. Use semantic web standards in order to decontextualize information, making it  linkable across website contexts. Bore. Lake of interoperability. Cause. Each web's 2.0  API is different. The effect. A user must register in the platforms of the different  communities is involved in if he wants to exchange something across them. While a programmer  must write different code to interact with each website. Even when the best types of  objects are working with is the same. The hypothesis that the virtual assembly is putting  forward is that the web and the social structures protocol of our social DP and standard ontology  will generate interoperability and therefore communication, collaboration and true mutualization.  5 suboptimal technologies for the development of web applications. The cause. Each web application  requires strongly entangled code between client and server. The effect. The cost of building  web applications cannot be amortized easily with a lot of duplication of functionalities  across platforms. The need. Using linked data platform enables generalized accessible web  components that could work with any web server across the world, dividing the needed time  for developing web application onto many stakeholders. 6 clash between economical and ethical motivations.  The cause. In the current web of massively sealed centralized platform, the user get  free access to a service in exchange for his data. The effect. Value created by the crowd  is captured by very few actors. The need. Enable people to take back data ownership and the  attached value. Our objective is to use open protocols as a way to foster the development  of P2P social networks on the web and in real life. This approach should allow us to build  much more ethical and efficient systems. At the center of this diagram, we have open  protocols, W3C standards and solid specifications. Not a company, not a platform, not a technology.  We can read this diagram as follows. If the first platform uses these protocols to empower  its community and if the second platform uses these same protocols to empower its own community,  then platform 1 and 2 will be interoperable and communities 1 and 2 will be able to connect,  communicate, cooperate. Thus generating a network effect and so on. If the third platform  uses these same protocols to empower its own community, then it will be able to interoperate  with platforms 1 and 2 and with communities 1 and 2. And the network effect will strengthen  and as the ecosystem grows, as the platform pulls their code, their resources and their  user communities. At some point, as with the open source movement in its fight against  the proprietary software, one can imagine that interoperable and cooperative systems  will be more efficient than siloed and competitive systems.  Technically, CEMAPS is based on the solid specifications. So let's discover the solid  project itself. Solid is a proposed set of conversions and tools for building the centralized  social application based on linked data principles. Solid is modular and extensible.  It relies as much as possible on existing W3C standards and protocols. This is an international  project led by the inventor of the web, Tim Berners-Lee. Solid aims to complete the stake  of web standards to enable the development of a distributed, secure and social web.  Solid is a set of specifications related to identity, profiles, authentication,  authentication, authorization and access control, content representation, reading and writing resources,  social web app protocols, recommendation for server implementations, recommendation for  client app implementations. These specifications must allow the development of a distributed,  secure and social web.  Hey, I'm Pierre and together we will dig into the next standard CEMAPS is using ActivityPub.  If you're keen on alternatives to social networks in GAFAM, you might know Mastodon,  Peertube, Funkware. So you probably have heard about the Fediverse and ActivityPub.  So a bit of concept first. ActivityPub is a protocol standard for decentralized social  networks, which can be also extended to create various kinds of federated apps.  So it's quite simple. The standard comes with two different ports, a client to server API  and a server to server API. So the service, the application can decide if it wants to implement  only one or both of them. It's not mandatory to implement both. And the decision will just  depend on the needs of your project. Also, if you're a front-end developer, you might use the  client to server API. And if you're focused on the federation part, you will focus on the server  to server. So what are the ingredients it will require? The message itself will be formatted  with ActivityPub and it must be attributed to an ActivityPub actor on the left. The actor must  be discoverable via webfinger and the delivery itself must be cryptographically signed by the  actor. So it's quite complex. Let's see a precise example through Mastodon. Mastodon is a part of  the Fediverse for which you have an overview here. And it can talk to Pertube,  GNU, Social, OpenQL, etc. So first part of the standard is the actor. The actor is a publicly  accessible GZNLD document answering the question who. GZNLD can be a bit tricky, complicated, but  it's also possible to use a simple GZN with the at context attributes. So you see here. So here is  what the actor document could look like. The ID must be the URL of the document. And all the URLs  have to use HTTPS. It's mandatory for ActivityPub. You need to include an inbox. Even if you don't  plan receiving messages, this is a Mastodon example. It's a legacy proposal. So Mastodon  requires it. The most complicated part of this document is the public key because it involves  the cryptography. The GZNLD will in this case refer to the actor itself with a fragment,  the part after the hash to identify it. This is because we are not going to host the key in a  separate document between we could. Webfinger. Webfinger allows us to ask a website, do you  have a user with this username and receive resource links to the response. So subject property here  consists of the username and the domain you are hosting on. This is how the actor will be  stored on the Mastodon server and how people will be able to mention in the tweet, in the  publications. Only one link is required in the Webfinger response. And it's linked to the  actor document we previously seen. So the message. The message in ActivityPub consists  of two parts. The message itself, the object and a wrapper that will communicate what's happening  with the message, the activity. In our case it's going to be a create activity. Let's say hello world  response in my publication about writing the blog post. With the in reply to property we are  changing our message to a parent. The content property may contain HTML. Of course it will be  sanitized by the receiving servers according to their needs. You see different implementations  when defined used for a different set of markup. And Mastodon will only keep PBRI and span tags  which is specific to Mastodon obviously. So next question is how do we send this document  over? Where do we send it? And how will Mastodon be able to trust it? Which is HTTP signatures  to deliver our message. And we will use a post to the inbox of the person we are replaying to.  Here the key ID refers to public key of our actor. The header lists the headers that are used for  building the signature. And then finally the signature string itself. The order of the header  must be the same in plain text and within the to be to be signed string and headers names are always  lowercase. Yeah and that's it for activity pub.  C maps, solid and activity pub are based on the semantic web which can also be called linked  data. The semantic web is based on a standardized data format called RDF resource description  framework. In the RDF world all data is expressed as tripoles composed of a subject, a predicate  and an object. For example Alice is a member of virtual assembly. Let's make the analogy with  human languages. They are structured by grammar and vocabulary. RDF can be associated with the  grammar of the semantic web. Then on the basis of RDF we can define vocabularies called ontologies.  Sharing a common language enables communication. The same is true for platform on the web.  By sharing common ontologies different platforms can speak the same language and therefore  communicate. Let's focus now on the per ontology which objective is to describe in a common way  communities in order to facilitate interoperability and collaboration across communities.  The acronym PER is for project actor ID and resource. The objective of the PER ontology  is to foster the development of PER to PER networks. That could be called IPER web.  Let's focus on the actor's category. The concepts of person and organization are linked by a  semantic link meaning is affiliated to. The PER ontology allows us to say the person named Alice  is affiliated to the organization named virtual assembly. Then we can see the actors can be  involved in activities. These activities can be tasks, projects, events. We will therefore be able  to say the organization named virtual assembly is involved in the project named CIMAPS. The  parentology manipulates a number of concepts useful to describe the diversity of human organization  such as people, organization, projects, tasks, events, skills, resources, plays, documents,  finalities, challenges, time, etc. These concepts are logically and semantically linked all together.  We will implement PER into CIMAPS in order to allow our user communities to interoperate  their data and collaborate through the sharing of a common language, a common ontology.  The parentology is published on the web and freely accessible to those who would like to implement it.  It was very important to share this context so that you could understand the challenges of CIMAPS.  Now we will talk more concretely about the technical specificities  of the software and its main use cases. The main objectives of CIMAPS are  develop a semantic toolbox, a linked data management system, deploy ontologies,  functionalities and interfaces according to the needs of user communities,  allow the easiest handling as possible. CIMAPS will allow to deploy services such as  semantic mapping, collaborative knowledge bases, territorial and thematic information systems,  decentralized social network, business applications.  CIMAPS is ontology driven, interoperable, it allows complex requests, collaborative editing,  authentication and access control. It is highly extensible. The first features we are developing  are knowledge base, directory, agenda, project management, marketplace, social networks.  CIMAPS is composed of three layers, the triple store, the middleware, the app.  Middlewares are interoperable and apps can interact with different middlewares.  CIMAPS middleware is based on the following protocols, link data platform, Sparkle,  OWL, WebID, WebICL, Shaco, ActivityPub. CIMAPS middleware is based with Node.js.  It is based on a microservices architecture we use for that molecular.js.  This allows you to use only the services you need. For instance, the triple store, the LDP,  the Sparkle endpoint and the WebID services. You can also add specific services. For instance,  the ActivityPub services or other like a mailer, webhook or push notification services.  We also develop connectors to facilitate the user of LDP, Sparkle and ActivityPub protocols  on the interface side. We started developing connectors for starting blocks, LDFlex,  RedX and React admin. We try to develop CIMAPS according to eight conception principles.  Interoperability, modularity, generosity, adaptability, scalability, accessibility,  opening and user friendliness. Going back to the beginning of the presentation,  we hope you do now understand this CIMAPS, which are one of the results of the implementation of  our work. We will now move on to the demos. The first one is about a project  called Alcupelago. It is a CIMAPS use case for which we have implemented the pair ontology.  I'm going to present you some demos about CIMAPS. My name is Guillaume. I'm going to  first show you this instance of CIMAPS that we deployed for an organization that we are part of  with the team of CIMAPS. This organization is called Geo-tural Assembly. As you can see,  this is my profile on these instance of CIMAPS. I'm also part of another organization that is called  Transition Pathways. It's an organization for which we are going to implement another instance of  CIMAPS. As you can see, CIMAPS allows to describe organizations and their context. For example,  here we can see that Transition Pathways has members. Among these members, there is myself.  This interface is based on React admin framework that is developed by Marmalab, a French organization.  We use it for different implementations like another one, which is called Pass-Ret Normandie.  I'm currently in Normandie. This is a place where Leaves also had Rien that presented the first part  of this presentation. We developed also another instance for an ecosystem based in Paris,  which is called Grand Voison that gathers around 80 organizations. This interface is one interface,  but we could use CIMAPS with other interfaces. For example, you can deploy interfaces in graph  like Flowview that Yannick will present you a bit more just after. But we could also use other  interfaces like the interfaces based on the web components that are developing our friends  from starting blocks. For this demo, we are going to use an instance of CIMAPS that we are developing  for the Troy University of Technology. This instance aims to make semantic mapping of the  organizations which are involved in the renewable energies domain. We have for the moment  five concepts. The first one is organizations. Then we have types of organizations, event,  place and scene. If we click on each one of them, we have a list of each kind of concept.  Okay, which is interesting with CIMAPS is that we are going to follow some semantic links.  For example, if we click on virtual assembly, we are going to be able to follow a link that is  normally named as partner. So for example, we are going to read this interface as follows  virtual assembly has partners, data player, assembly virtual has partner, fabric,  disenergy and so on. So it's not just an HTTP link, it's a semantic link. And so we can explore  the graph of concepts that are semantically linked by semantic relations. For example,  if we click on Pratsenair, we can see a description of Pratsenair and also identify some links that  contextualize this Pratsenair node. For example, we can see that Pratsenair will participate,  participates to a residence seminar, which is called Residence de la Fabrique des Energies  à Prats-des-Molieux. And we can also identify that other organizations will participate to this  meeting. Okay, this is the basis of this interface. We could also search some steps, but there is a  little bug right now. And we can finally create some actors. We could create an organization  like Inrupt. We will present Inrupt just after and add some data, for example, a shorter description,  longer description. We could add a place, a kind of organization, for example,  entreprise, business, company in French, some partners, for example, starting blocks,  and some themes, system de formation or solid. Okay, and like that, we can create new data.  CEMAPS is a collaborative link data management system. So for the moment, on this instance,  there is no authentication or access control. But on other instances, for example,  on Passred Normandie, we have here an authentication, also on Archipelago. And the objective will be to  allow everybody to contribute together to this collaborative knowledge space.  Okay, maybe it's sufficient. If you want to go further, we have a website which is called cemaps.org.  Below, you will find our GitHub here, our matrix chat here. And you can also see the team,  the governance, and some documentation around our project. And here, you will have other tutorials  to discover and maybe install or contribute to CEMAPS. Thank you all and see you soon.  I'm really happy to give you a quick overview of SparNatural. SparNatural is a tool which  has built our friend Thomas Franca, he lives also in France, he's a friend of Assembly Virtuel.  And he has developed this little application, which is a natural way, a visual way to build  Sparkle queries. Those Sparkle requests, as you can see them on the right of the screen.  I have a bigger window here. On the left is the concept and the information you feed,  which will build the Sparkle request. So here, you see that I'm looking for an artwork. It's  going to start again. I know it's in a museum in France. It's Le Louvre. It has been painted by a  person, Leonardo Vinci, and also Michelangelo. And I know approximately the dates it has been  painted after 15,000. On the below the screen, I see, we see the result and I can directly click  to the Wikipedia resource. Here, SparNatural is connected to Wikipedia. We already connected  to CEMAPS. Unfortunately, the website is KO today. But hopefully, in a couple of days,  it will be back again. You can see it by yourself.  Hi. Welcome to Flodio project. The aim of Flodio is first, to display semantic data  in a network graph. Secondly, to help users to navigate easily into the graph using the  flood concept. But what is a flood? Flood means fluid linked open data. It allows you to visualize  data in a graph mode and in a page mode. For example, this interface is a cartography of CEMAPS data  for the virtual assembly network. We can associate all the class of parentology with colors and easily  display actor, project, organization, whatever. When you look at the network, it's really hard  to analyze which node are linked with others. We are lost.  Thanks to Flood concept, you will be able to concentrate yourself on a node and its neighbor.  Let's see how does it work. When you click on the flood, the node opens and displays all its  concept information. So you can easily read in a page mode all neighbors grouped by class and colors.  When you click on the neighbors, you can navigate into the graph,  jumping from flood to flood. Each time, the new open node takes the center of the screen.  You can also search a node into the graph. You can pan or zoom.  You can make a focus on a specific node.  You can change the focus on another node.  And return to the global network.  You can also filter using class or properties.  Example, if you don't want to see people, you can unselect person class.  Hello, thanks very much to Semapps team for developing this open source,  library and distributed Semantics server. I'm very happy to contribute to this project.  And I like parentology. I hope the demos illustrated completely our work.  As you can see, Semapps is a young project. We realized the proof of concepts in 2016.  The development of the new version started just over a year ago.  So far, we have laid the foundation for the project.  We have several subprojects in progress, among which, at the core level,  setup ACL rights, be able to link to Semapps instance, view user activities with activity pub,  view the history of a resource, allow to create solid pods with Semapps, advanced search on  Spark Natural. I have a completion on wiki data. For Aki Pelago, fully integrate the new version  of pair register for an event, reserve a location integrating obel, solid plus XMPP chat, which  Alice will present later on, interoperate Semapps with Mastodon, Piotr and Fediverse.  At the interface level, view data in graphs, view data on a map, view data on a calendar,  display personalized new feeds with activity pub. As Semapps matures, we are beginning to  structure its business development. In this perspective, we are partnering with data players,  a company close to the virtual assembly, which is the first one to bring Semapps to market.  Our first clients are municipalities like Prats de Molo, universities like Technical  University of Troyes, institutions like ADEM, the French Agency for Ecological Transition  and the FABMOP, cooperative like Lacobes des Territoires, which I belong to, associations such  as chemin de la transition, local low-tech or data food consortium. Hi, I'm Alice, community animator  for the virtual assembly and starting blocks, and I'm glad to contribute to this video by  introducing you the solid ecosystem. As we said before, solid is a project to  re-appropriate the web by standardizing APAs. It's a set of specifications that allow enteroperability  and give power back to the user for a more efficient and democratic web.  The solid community is worldwide. The presentation of the ecosystem that we will try here is by no  means exhaustive. We will only focus on few actors in order to give you a sample of the diversity  of actors interested in solid and their use case.  Inrupt is the American company that is seamlessly set up to develop the economic system of the solid  projects. Inrupt is interested in the medical files, banking and more.  The first use case interesting to share is the adoption of solid as a BBC. The goal is to develop  user-stone-trink and constant-based content recombination with solid. Imagine what your BBC  news feed would look like if it could be customized with historical data from other platforms such  as Netflix without owning it. Another example is NatWest, a UK bank that also works with Inrupt to  streamline digital interaction associated with customer life moment, such as name change at  a wedding or restoration of a new business through anti-operability. Inrupt is the largest and most  active company on the solid project.  Starting Blocks is a cooperative that develops an open-source technology in order to quickly build  solid applications at lower costs and with the least possible skills. As a cooperative, we  strongly believe in community logic and the decentralization of power through the reappropriation  of our digital tools. For us, open-source is central and radical because we want to make the  development and the use of solid specification as easy as possible. This is the reason why all  our production are under MIT license. We believe that this fight for the reappropriation of the  web is a major societal issue. That's why our goal is to drastically reduce the development cost of  application to all the greatest number of people to regain control of their digital tools.  Our secret source is the marriage of web components with solid. We believe that these two standards  have for us the vocation to work together. Indeed, solid standards allow us to reuse a  component without having to re-adapt it to a new data format. Our first use case has been to equip  the freelance community we come from, Happy Dev. Happy Dev is a freelance collective that actually  composed of several small collectives that wanted to work together and share the networked effect  without losing their autonomy. It's for Happy Dev that Starting Blocks developed Hubbell,  a federated application that includes a chat, a job board and a skill directory. Hubbell's  authority collective are already federated with the other instance of Starting Blocks.  Contact us if you want to visit us there. Another use case we have is a European trade union.  Trade union are independent entities that have difficulties to federate and to circulate information  in a fluid way. We have developed a federated application for them that includes a collaborative  intelligence tools, decision-making tools, even sharing and we have taken over the Hubbell directory  as well. The objective is to improve cooperation between union to enable them to unit their string  while maintaining their autonomy. We would be very happy to introduce you to our techno and to share  our thoughts with you. Do not hesitate to send us a mail at salutatstartingblocks.com.  Hello everyone, I'm Quentin, co-founder of Data Village, a personal data science company  based in Belgium and our mission is to unlock the value of personal data for both the organizations  and their consumers according to three immutable values. The first is people control, the second  is privacy and the last but not least is full transparency. Most of us daily use digital  services which means that every day we create a stream of online activities. These are all data  and this is a never-growing database of personal information. However, the data economy model of  today is wrong, the data is locked and the market is also locked and organizations are pushed to  collect more and more data. Personal data is spread and duplicated making it possible for people to  keep control. On the other hand, the interest of organizations to use personal data is growing  especially when it comes to hyper personalization, augmented experiences, insights, surveys and so  on. Now imagine we shift this model, a new model in which consumers could get a view of all their  data and control them. Imagine that as an organization you could just pick and choose this data and  extract insights in a minute with full privacy and without the burden of managing that data.  We make it a reality by allowing the consumers to create and control their own digital twins,  meaning a virtual representation of themselves based on all the data they create on a daily basis.  Then organizations can use our so-called data passports to query their consumers' digital twins  and acquire the insights they need in order to improve the digital user experiences and be able  to reach the level of personalization of the internet giants. Along with the data passport,  organizations can use our personal AI data cage, which is a confidential computing environment  to perform AI data enrichment and matchmaking between their products and any personal data  to extract derived data without breaking privacy. Our decentralized technology can serve many  different sectors and help solve challenges such as better access to information, better health,  better finance management or mobility among many others. We are Data Village. Thank you for your  attention and don't hesitate to reach out at contact at datavillage.me. Thank you.  Thank you. Hey everyone, my name is Jumein Itzma and I'm the CEO of Antalla.  Antalla is a software company located in the Netherlands that focuses on building stuff  with linked data. We've got an eDemocracy platform called ARGU, which is all about civic engagement,  and the next year we'll be working a lot on solid projects. The first one will be the DAXPOD.  This is a solid server built with Ruby on Rails. It's currently in development,  but it will be open sourced in March 2021. Solid Search is our next project. This is going to be  a search engine plus UI, which is modular and designed to be compatible with various solid  implementations, including the community server. This is expected to be released in the last quarter  of this year. And the third project is data deals and payments, which is all about making machine  readable agreements between people who share data and who use data and enable that process to be  monetized, powered by solid. This is also expected to be released in the final quarter of this year.  If you've got any questions or want to just talk about solid stuff, get in touch. Bye.  Thank you for your attention. As you see, we need some contributors to popularize our subjects.  Hope you've liked this video and our authenticity. Let's get in touch.
semapps_0_3659.png semapps_3660_10631.png semapps_10632_11399.png semapps_11400_18215.png semapps_18216_23543.png semapps_23544_23615.png semapps_23616_23663.png semapps_23664_23723.png semapps_23724_23771.png semapps_23772_23987.png semapps_23988_24095.png semapps_24096_24155.png semapps_24156_24215.png semapps_24216_24371.png semapps_24372_29111.png semapps_29112_34775.png semapps_34776_34835.png semapps_34836_34883.png semapps_34884_35543.png semapps_35544_35627.png semapps_35628_36143.png semapps_36144_37127.png semapps_37128_37223.png semapps_37224_37283.png semapps_37284_37487.png semapps_37488_37847.png semapps_37848_37907.png semapps_37908_39419.png semapps_39420_39611.png semapps_39612_42167.png semapps_42168_42371.png semapps_42372_42875.png semapps_42876_42995.png semapps_42996_43103.png semapps_43104_43259.png semapps_43260_44111.png semapps_44112_45083.png semapps_45084_45227.png semapps_45228_45419.png semapps_45420_45527.png semapps_45528_48467.png semapps_48468_48923.png semapps_48924_49535.png semapps_49536_49715.png semapps_49716_51095.png semapps_51096_51491.png semapps_51492_51731.png semapps_51732_51959.png semapps_51960_52655.png semapps_52656_55799.png semapps_55800_65459.png semapps_65460_68780.png