all repos — slides @ de054bece69a4eb0253b3604004d5f157721ee4e

Reveal-md slides I made for various occasions

New semantic slides
Tim Izzo tim@5ika.ch
Fri, 02 Aug 2024 16:06:21 +0200
commit

de054bece69a4eb0253b3604004d5f157721ee4e

parent

ed0e0f08b83cf278601cbd190e474107275fc2a7

3 files changed, 575 insertions(+), 125 deletions(-)

jump to
A octree/semantic-old.md

@@ -0,0 +1,200 @@

+--- +author: Tim Izzo +paging: Slide %d / %d +--- + +# C'est quoi le Web sémantique ? + +- Réseau d'informations structurées et typées compréhensibles par les machines +- S’inscrit dans la logique de l’Open-Data mais bien plus ambitieux +- Permet une utilisation standardisée et **interconnectée** des données +- Permet de faire des rapprochements entre plusieurs sources de données / plusieurs sujets +- Considère une distribution de la données / des serveurs plutôt que de la centralisation +- En gros, permet de construire un grand réseau de connaissance étalé sur Internet +- Poussé depuis 20 ans par Tim Berners-Lee [TED](https://www.ted.com/talks/tim_berners_lee_the_next_web) + +--- + +# Différence avec HTML + +- HTML est orienté _présentation des données_, à destination des humains +- On peut faire du HTML sémantique pour identifier le contenu de nos pages +- HTML a certaines limites car contextuel à une page (gestion de la navigation, contenus riches et diverses) + +```html +<!DOCTYPE html> +<html> + <head> + <title>Titre du document</title> + </head> + <body> + <article> + <h1>Titre de l'article</h1> + <p>Texte de l'article</p> + </article> + </body> +</html> +``` + +--- + +# L'existant + +Il existe déjà beaucoup de choses et on en utilise plein sans le savoir. + +- Plusieurs initiatives pour rendre Wikipedia sémantique: https://www.dbpedia.org/ +- Les données OpenGraph sont des données sémantiques consommées par les search engines +- La Confédération Suisse a un service intéressant qui cherche à croiser les données [LINDAS](La Confédération Suisse a un service intéressant qui cherche à croiser les données (LINDAS) + +> Aujourd'hui, c'est encore très technique et plutôt complexe, même si ça existe depuis 20 ans. + +--- + +# Le turfu + +- La volonté de TBL est de créer le GGG (Giant Global Graph), un nouveau Web qui met l'accent sur les données +- Les GAFAM utilisent à fond les données sémantiques mais pour leur propre gueule + - Google Search, Google Maps,... + - Facebook est un pionner en la matière + - Assistants intelligents (Google Assistant, Siri, Alexa,...) + - IA +- Des initiatives comme SOLID ou Semapps visent à démocratiser l'utilisation tout en prônant un Web distribué + +--- + +# À quoi ça ressemble ? + +## Format de données + +Le standard le plus utilisé est RDF, formaté en XML ou JSON. + +```xml +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:foaf="http://xmlns.com/foaf/0.1/" + xmlns:rss="http://purl.org/rss/1.0/" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <foaf:Person rdf:about="http://example.net/Paul_Dupont"> + <foaf:name>Paul Dupont</foaf:name> + <foaf:img rdf:resource="http://example.net/Paul_Dupont.jpg"/> + <foaf:knows rdf:resource="http://example.net/Pierre_Dumoulin"/> + </foaf:Person> + <foaf:Person rdf:about="http://example.net/Pierre_Dumoulin"> + <foaf:name>Pierre Dumoulin</foaf:name> + <foaf:img rdf:resource="http://example.net/Pierre_Dumoulin.jpg"/> + </foaf:Person> + <foaf:Image rdf:about="http://example.net/Paul_Dupont.jpg"> + <dc:description>Photo d'identité de Paul Dupont</dc:description> + </foaf:Image> + <foaf:Image rdf:about="http://example.net/Pierre_Dumoulin.jpg"> + <dc:description>Photo d'identité de Pierre Dumoulin</dc:description> + </foaf:Image> + </rdf:RDF> +``` + +--- + +# + +## Requêtage + +Il existe un language de query qui permet de requêter des données. Inspiré de SQL. + +```sql + PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> + PREFIX dc: <http://purl.org/dc/elements/1.1/> + SELECT DISTINCT ?nom ?image ?description + WHERE { + ?personne rdf:type foaf:Person. + ?personne foaf:name ?nom. + ?image rdf:type foaf:Image. + ?personne foaf:img ?image. + ?image dc:description ?description + } +``` + +Cela fonctionne avec des triplets "sujet prédicat objet" et nécessite une base de données de type _triplestore_. + +--- + +# Opportunités pour nous + +##### Créer des données sémantiques à partir de R-21 et les proposer à LINDAS + +C’est ce qui me semble le plus riche en terme de données sémantiques car regroupe plusieurs corps de métiers et peut intéresser d’autres pour des décisions politiques ou initiatives communales. + +##### Créer des données sémantiques à partir de Caroster et s'interconnecter avec d'autres + +Si on trouve des données sur la géocalisation d’autres transports, on peut proposer des choses plus complètes. + +> Par exemple: comment se déplacer d’un point un A à un point B en utilisant que des moyens de transports de type “Covoiturage”, “Bus”, “Train”. + +Google fait ça avec Gmaps et c’est forcément sur une base sémantique afin d'interconnecter toutes les sources. + +##### Mettre une couche de sémantique sur nos données internes + +Les informations qui nous sont nécessaires sont splitées sur plusieurs Saas et serveurs. +Cela nous demande un effort pour assurer une cohérence de l'ensemble (que l'on fait à travers Notion). + +On pourrait revoir la manière dont on traite nos données pour une approche plus sémantique. +Cela nous permettrait d'avoir des métriques plus poussées et plus facilement (data lake). +C'est également une solution pour avoir un système d'archive indexée dans laquelle on peut rapidement trouver ce qu'on veut. + +##### Publier les infos d'EVOSPE + +EVOSPE a des données hyper intéressantes au niveau communal, cantonal et même fédéral (LINDAS) mais il faut leur accord pour faire quelque chose. +Peut être en leur montrant l'intérêt ? + +Autre point, on pourrait "sémantiser" toutes les données et mettre un SPARQL dessus pour avoir un système de remonté d'informations puissants. +Mais il faut voir le besoin avant tout. + +##### Decidim + +Permettrait de cartographier la communauté Decidim et savoir qui fait quoi où. Comme ce qui est fait sur Kumu mais avec des données utilisables plus largement. +Semapps+Flod.io permettrait d'avoir une vu comme Kumu. + +L'ontologie [PAIR](https://www.virtual-assembly.org/ontologie-pair/) est pratique pour ça. + +##### Cartographier le réseau d'Octree + +Dans la même idée que Decidim, on pourrait cartographier nos projets / clients / partenaires afin de mieux +distinguer des opportunités ou rapprochements et donner de la visbilité. + +--- + +# Comment avancer ? + +- Le Web sémantique est un outil et pas un objectif en soi: il faut un but clair avant de faire quelque chose +- C'est un nouveau groupe de compétences qu'on ne maîtrise pas (encore) +- Cela peut nous donner une approche moderne et nouvelle sur la manière de considérer nos données d'applications mais aussi internes, notamment si on veut rendre + nos apps interopérables. + +- Monter en compétence sur RDF, LPD et SPARQL +- Alimenter Archipel (Semapps) +- Faire un POC sur un projet à nous +- Creuser Ontologie PAIR => https://www.virtual-assembly.org/ontologie-pair/ +- Monter un pod ou un semapps à nous (avec données d'apps + internes) + +--- + +# Démo Semapps + +=> Créer le projet Voca sur [https://archipel.assemblee-virtuelle.org/](https://archipel.assemblee-virtuelle.org/) + +Les données sont ensuite utilisables depuis https://data.virtual-assembly.org/ (endpoints LDP). + +Ou en version plus graphique: https://archipel.flod.io/ + +--- + +# Ressources intéressantes + +- Présentation SOLID et Semapps => https://pad.lescommuns.org/p/SlideInteroperabiliteSemapps#/ +- Présentation de SOLID => https://pad.lescommuns.org/p/SlideSolid +- Présentation d'un projet national utilisant des Semapps: https://pad.lescommuns.org/p/SlideCarto4CH#/ +- Présentation d'Archipel => https://www.virtual-assembly.org/wp-content/uploads/2022/01/Archipelago-1.pdf +- Ontologie PAIR de l'Assemblée Virtuelle : https://www.virtual-assembly.org/ontologie-pair/ + +--- + +Voir le contenu de ces slides: `ssh 5ika.ch -p 1917 cat slides/semantic.md -c`
M octree/semantic.mdoctree/semantic.md

@@ -1,200 +1,347 @@

--- author: Tim Izzo paging: Slide %d / %d +theme: ./_themes/5ika.css +theme: ./slides_theme.json --- -# C'est quoi le Web sémantique ? +# Introduction + +L'objectif de cette prez n'ai pas de donner la maîtrise du Web +sémantique en 20min mais de comprendre les bases dont tout découle +ensuite et de vous intéresser à poser des questions ou à creuser +plus les trucs abordés. -- Réseau d'informations structurées et typées compréhensibles par les machines -- S’inscrit dans la logique de l’Open-Data mais bien plus ambitieux -- Permet une utilisation standardisée et **interconnectée** des données -- Permet de faire des rapprochements entre plusieurs sources de données / plusieurs sujets -- Considère une distribution de la données / des serveurs plutôt que de la centralisation -- En gros, permet de construire un grand réseau de connaissance étalé sur Internet -- Poussé depuis 20 ans par Tim Berners-Lee [TED](https://www.ted.com/talks/tim_berners_lee_the_next_web) +C'est technique mais (j'espère) suffisamment vulgarisé pour être +compris de tout le monde. --- -# Différence avec HTML +# Documents HTML -- HTML est orienté _présentation des données_, à destination des humains -- On peut faire du HTML sémantique pour identifier le contenu de nos pages -- HTML a certaines limites car contextuel à une page (gestion de la navigation, contenus riches et diverses) +Le Web que l'on connaît est composé de documents HTML interreliés. -```html -<!DOCTYPE html> -<html> - <head> - <title>Titre du document</title> - </head> - <body> - <article> - <h1>Titre de l'article</h1> - <p>Texte de l'article</p> - </article> - </body> -</html> +HTML est un moyen de formater du contenu pour être **lu par des humains** +mais il fait peu de sens pour la machine. + +La machine ne peut pas comprendre le sens du texte, saisir le contexte, +faire des liens conceptuels entre différentes pages. + +--- + +# Natural language processing + +Le NLP est une méthode de la boite à outils "IA" qui consiste à +traiter du texte pour le comprendre d'un point de vue machine. + +Cela demande énormément de calculs car chaque language est différent, +avec beaucoup de subtilités gramaticales etc... + +En gros, ça consiste à faire de la sémantique (= recherche de sens +d'un texte afin de pouvoir l'appréhender informatiquement) mais +en employant l'artillerie lourde. + +--- + +# Un exemple + +> Octree est domicilié au 23 Route de la Galaise à Plan-les-Ouates. +> L'entreprise réalise du développement d'outils Open-Source +> pour la transition écologique et sociale. +> Tim Izzo y occupe le poste d'admin systèmes. + +--- + +Avec le NLP, on peut identifier certaines portions: + +> `Octree` est domicilié au `23 Route de la Galaise à Plan-les-Ouates`. +> L'entreprise réalise du `développement` d'outils `Open-Source` +> pour la `transition écologique et sociale`. +> `Tim Izzo` y occupe le poste d'`admin systèmes`. + +--- + +# Web sémantique + +Plutôt que de stocker des contenus essentiellement textuels, le Web +sémantique consiste à considérer la données de manière plus *pure* +tout en gardant l'approche *interrelié* du Web. + +On garde le protocole HTTP et les URLs mais on remplace +le HTML par une famille de standards appelée **RDF**. + +--- + +# La base + +Dans sa forme la plus pure et simple, une information est la liaison + d'un **sujet** et d'une **caractéristique**. + +Par exemple: + +``` +Tim est sysadmin. +``` + +Dans une forme - textuelle et + machine, on dirait quelque chose du genre + +``` +Tim --métier--> sysadmin ``` +- **Tim** est le `sujet` +- **métier** est le `prédicat` +- **sysadmin** est la valeur / la caractéristique / l'`objet` + +Ces 3 éléments forment ce qu'on appel un **triplet**. +Un triplet est donc une manière de lier une caractéristique à un sujet. + --- -# L'existant +On a donc défini une caractéristique à un sujet mais +le sujet `Tim` a plusieurs caractéristiques. -Il existe déjà beaucoup de choses et on en utilise plein sans le savoir. +Comment lier plusieurs caractéristques à l'entité "Tim" de manière +sûre en considérant que les données peuvent être stockées de manière +décentralisée ou distribuée ( = sur plusieurs serveurs, gérées par différentes personnes) ? -- Plusieurs initiatives pour rendre Wikipedia sémantique: https://www.dbpedia.org/ -- Les données OpenGraph sont des données sémantiques consommées par les search engines -- La Confédération Suisse a un service intéressant qui cherche à croiser les données [LINDAS](La Confédération Suisse a un service intéressant qui cherche à croiser les données (LINDAS) +C'est là qu'on utilise les URLs: -> Aujourd'hui, c'est encore très technique et plutôt complexe, même si ça existe depuis 20 ans. +Pour considérer le sujet "Tim", on va utiliser toujours la même URL. +Par exemple https://octree.ch/people/Tim. --- -# Le turfu +Dans la même idée, comment, à travers le Web, tout le monde peut nommer +le métier `sysadmin` de manière constante et commune ? -- La volonté de TBL est de créer le GGG (Giant Global Graph), un nouveau Web qui met l'accent sur les données -- Les GAFAM utilisent à fond les données sémantiques mais pour leur propre gueule - - Google Search, Google Maps,... - - Facebook est un pionner en la matière - - Assistants intelligents (Google Assistant, Siri, Alexa,...) - - IA -- Des initiatives comme SOLID ou Semapps visent à démocratiser l'utilisation tout en prônant un Web distribué +Pour cela, on peut aussi utiliser une URL qui pointe vers un organisme +qui fait référence pour les types de métiers existants. + +Si on cherche à se baser sur des standards, on peut par exemple utiliser +https://isco.ilo.org/2522.1 qui correspondrai à l'URL attribuée au job +"Administrateur/ice système". + --- -# À quoi ça ressemble ? +Toujours dans la même idée mais plus deep, il faut avoir la même logique +pour le *prédicat* afin que la manière de dire "on parle du métier de +cette personne" soit la même pour tout le monde. + +En utilisant la manière d'organiser les choses proposée par https://schema.org/, +on peut utiliser l'URL https://schema.org/hasOccupation. + +--- -## Format de données +# Notre triplet avec des URLs -Le standard le plus utilisé est RDF, formaté en XML ou JSON. +Notre triplet devient ainsi -```xml -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:foaf="http://xmlns.com/foaf/0.1/" - xmlns:rss="http://purl.org/rss/1.0/" - xmlns:dc="http://purl.org/dc/elements/1.1/"> - <foaf:Person rdf:about="http://example.net/Paul_Dupont"> - <foaf:name>Paul Dupont</foaf:name> - <foaf:img rdf:resource="http://example.net/Paul_Dupont.jpg"/> - <foaf:knows rdf:resource="http://example.net/Pierre_Dumoulin"/> - </foaf:Person> - <foaf:Person rdf:about="http://example.net/Pierre_Dumoulin"> - <foaf:name>Pierre Dumoulin</foaf:name> - <foaf:img rdf:resource="http://example.net/Pierre_Dumoulin.jpg"/> - </foaf:Person> - <foaf:Image rdf:about="http://example.net/Paul_Dupont.jpg"> - <dc:description>Photo d'identité de Paul Dupont</dc:description> - </foaf:Image> - <foaf:Image rdf:about="http://example.net/Pierre_Dumoulin.jpg"> - <dc:description>Photo d'identité de Pierre Dumoulin</dc:description> - </foaf:Image> - </rdf:RDF> +```turtle +<https://octree.ch/people/Tim> <https://schema.org/hasOccupation> <https://isco.ilo.org/2522.1> ``` +Toujours dans l'ordre SUJET PRÉDICAT OBJET. + --- -# +Tout n'est pas obligatoirement une URL qui pointe vers quelque chose de standardisé. +Faisons un pas en arrière et considérons que l'Objet est + libre. On peut directement +avoir une valeur textuelle ou numéraire: -## Requêtage +```turtle +<https://octree.ch/people/Tim> <https://schema.org/hasOccupation> "Sysadmin" +``` -Il existe un language de query qui permet de requêter des données. Inspiré de SQL. +--- + +# Un exemple plus complet + +Voilà plusieurs triplets pour avec le même sujet pour mieux comprendre. -```sql - PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> - PREFIX foaf: <http://xmlns.com/foaf/0.1/> - PREFIX dc: <http://purl.org/dc/elements/1.1/> - SELECT DISTINCT ?nom ?image ?description - WHERE { - ?personne rdf:type foaf:Person. - ?personne foaf:name ?nom. - ?image rdf:type foaf:Image. - ?personne foaf:img ?image. - ?image dc:description ?description - } +```turtle +<https://octree.ch/people/Tim> <https://schema.org/hasOccupation> "Sysadmin" +<https://octree.ch/people/Tim> a <https://schema.org/Person> +<https://octree.ch/people/Tim> <https://schema.org/givenName> "Tim" +<https://octree.ch/people/Tim> <https://schema.org/familyName> "Izzo" +<https://octree.ch/people/Tim> <https://schema.org/email> "tim@octree.ch" +<https://octree.ch/people/Tim> <https://schema.org/image> "https://5ika.ch//img/5ika.webp" +<https://octree.ch/people/Tim> <https://schema.org/sameAs> <https://5ika.ch/profile.ttl> ``` -Cela fonctionne avec des triplets "sujet prédicat objet" et nécessite une base de données de type _triplestore_. +> Le `a` est un raccourci universel en Web sémantique pour https://www.w3.org/1999/02/22-rdf-syntax-ns#type --- -# Opportunités pour nous +# RDF -##### Créer des données sémantiques à partir de R-21 et les proposer à LINDAS +La famille de standards RDF est un ensemble de manière de représenter des triplets (par exemple, dans un fichier). -C’est ce qui me semble le plus riche en terme de données sémantiques car regroupe plusieurs corps de métiers et peut intéresser d’autres pour des décisions politiques ou initiatives communales. +Par rapport à la slide suivante, il ne manque pas grande chose pour que ce soit du `N-Triples` +(juste des points à la fin). -##### Créer des données sémantiques à partir de Caroster et s'interconnecter avec d'autres +```turtle +<https://octree.ch/people/Tim> <https://schema.org/hasOccupation> "Sysadmin" . +<https://octree.ch/people/Tim> a <https://schema.org/Person> . +<https://octree.ch/people/Tim> <https://schema.org/givenName> "Tim" . +<https://octree.ch/people/Tim> <https://schema.org/familyName> "Izzo" . +<https://octree.ch/people/Tim> <https://schema.org/email> "tim@octree.ch" . +<https://octree.ch/people/Tim> <https://schema.org/image> "https://5ika.ch//img/5ika.webp" . +``` -Si on trouve des données sur la géocalisation d’autres transports, on peut proposer des choses plus complètes. +Si on veut faire du `Turtle`, bien plus pratique: -> Par exemple: comment se déplacer d’un point un A à un point B en utilisant que des moyens de transports de type “Covoiturage”, “Bus”, “Train”. +```turtle +<https://octree.ch/people/Tim> <https://schema.org/hasOccupation> "Sysadmin" ; + a <https://schema.org/Person> ; + <https://schema.org/givenName> "Tim" ; + <https://schema.org/familyName> "Izzo" ; + <https://schema.org/email> "tim@octree.ch" ; + <https://schema.org/image> "https://5ika.ch//img/5ika.webp" . +``` -Google fait ça avec Gmaps et c’est forcément sur une base sémantique afin d'interconnecter toutes les sources. +Et en déclarant des *préfixes* en début de fichier, on peut éviter les parties d'URL +souvent répétées pour un affichage plus clair: -##### Mettre une couche de sémantique sur nos données internes +```turtle +@prefix schema: <https://schema.org/>. +@prefix octree: <https://octree.ch/people> . -Les informations qui nous sont nécessaires sont splitées sur plusieurs Saas et serveurs. -Cela nous demande un effort pour assurer une cohérence de l'ensemble (que l'on fait à travers Notion). +octree:Tim a schema:Person ; + schema:hasOccupation "Sysadmin" ; + schema:givenName "Tim" ; + schema:familyName "Izzo" ; + schema:email "tim@octree.ch" ; + schema:image "https://5ika.ch//img/5ika.webp" . +``` -On pourrait revoir la manière dont on traite nos données pour une approche plus sémantique. -Cela nous permettrait d'avoir des métriques plus poussées et plus facilement (data lake). -C'est également une solution pour avoir un système d'archive indexée dans laquelle on peut rapidement trouver ce qu'on veut. +--- -##### Publier les infos d'EVOSPE +# JSON-LD -EVOSPE a des données hyper intéressantes au niveau communal, cantonal et même fédéral (LINDAS) mais il faut leur accord pour faire quelque chose. -Peut être en leur montrant l'intérêt ? +Il existe beaucoup de formats RDF mais Turtle est l'un des deux plus courant dans mon expérience du Web sémantique. +L'autre est `JSON-LD`, très utilisé pour le Fediverse (Mastodon & cie). -Autre point, on pourrait "sémantiser" toutes les données et mettre un SPARQL dessus pour avoir un système de remonté d'informations puissants. -Mais il faut voir le besoin avant tout. +L'exemple en JSON-LD donne cela: -##### Decidim +```json +{ + "@context": { + "schema": "https://schema.org/", + "octree": "https://octree.ch/people" + }, + "@id": "https://octree.ch/people/Tim", + "@type": "schema:Person", + "schema:hasOccupation": "Sysadmin", + "schema:givenName": "Tim", + "schema:familyName": "Izzo", + "schema:email": "tim@octree.ch", + "schema:image": "https://5ika.ch/img/5ika.webp" +} -Permettrait de cartographier la communauté Decidim et savoir qui fait quoi où. Comme ce qui est fait sur Kumu mais avec des données utilisables plus largement. -Semapps+Flod.io permettrait d'avoir une vu comme Kumu. +``` -L'ontologie [PAIR](https://www.virtual-assembly.org/ontologie-pair/) est pratique pour ça. +--- -##### Cartographier le réseau d'Octree +Ainsi, on compose de l'information par l'accumulation de triplets attribués à un sujet. +Ces données peuvent être stockées dans des fichiers simples en format Turtle, JSON-LD ou autre +et être publiée comme cela. Par exemple => https://5ika.ch/profile.ttl. -Dans la même idée que Decidim, on pourrait cartographier nos projets / clients / partenaires afin de mieux -distinguer des opportunités ou rapprochements et donner de la visbilité. +Mais on peut aussi stocker des triplets dans des bases de données faites pour cela. +On les appelle des triple-store. + +Ce n'est pas du SQL, pas du NoSQL. C'est une sorte d'entre-deux. + +=> Exemple avec le Triple store d'Octree. --- -# Comment avancer ? +# Donnée distribuée + +Imaginons que sur mon site perso, je publie les triplets suivants: + +```turtle +@prefix schema: <https://schema.org/>. + +<https://5ika.ch/#me> a schema:Person ; + schema:hasOccupation "Sysadmin" ; + schema:givenName "Tim" ; + schema:worksFor <https://octree.ch> +``` -- Le Web sémantique est un outil et pas un objectif en soi: il faut un but clair avant de faire quelque chose -- C'est un nouveau groupe de compétences qu'on ne maîtrise pas (encore) -- Cela peut nous donner une approche moderne et nouvelle sur la manière de considérer nos données d'applications mais aussi internes, notamment si on veut rendre - nos apps interopérables. +Ce document Turtle défini un sujet identifié par `https://5ika.ch/#me` +qui est une Personne et qui travaille pour l'entité `https://octree.ch`. + +Sur https://5ika.ch, rien ne défini l'entité Octree mais une personne qui cherche +des informations à la possibilité de *suivre les liens* pour aller creuser sa recherche. + +Elle trouvera éventuellement sur le site https://octree.ch un fichier JSON-LD avec le contenu +suivant: + +```json +{ + "@context": "https://schema.org/", + "@type": "Organization", + "name": "Octree", + "url": "https://octree.ch", + "logo": "https://octree.ch/logo.png", + "sameAs": [ + "https://tooting.ch/octree", + "https://www.facebook.com/octree", + "https://www.linkedin.com/company/octree" + ], + "contactPoint": { + "@type": "ContactPoint", + "contactType": "Customer Service", + "email": "info@octree.ch", + "areaServed": "CH", + "availableLanguage": ["English", "French", "Portugese"] + }, + "address": { + "@type": "PostalAddress", + "streetAddress": "23 Route de la Galaise", + "addressLocality": "Plan-les-Ouates", + "postalCode": "1228", + "addressCountry": "CH" + } +} +``` -- Monter en compétence sur RDF, LPD et SPARQL -- Alimenter Archipel (Semapps) -- Faire un POC sur un projet à nous -- Creuser Ontologie PAIR => https://www.virtual-assembly.org/ontologie-pair/ -- Monter un pod ou un semapps à nous (avec données d'apps + internes) +> C'est ce genre de choses que lit Google pour afficher les infos sur la partie +> droite lors d'une recherche. --- -# Démo Semapps +# D'autres exemples de TTL pour Octree -=> Créer le projet Voca sur [https://archipel.assemblee-virtuelle.org/](https://archipel.assemblee-virtuelle.org/) +=> https://git.octree.ch/o/semantic-octree/-/tree/main/ttl?ref_type=heads -Les données sont ensuite utilisables depuis https://data.virtual-assembly.org/ (endpoints LDP). +--- -Ou en version plus graphique: https://archipel.flod.io/ +# Où trouver des données sémantiques ? + +- https://www.wikidata.org/wiki/Wikidata:Main_Page +- https://www.dbpedia.org/ +- https://lindas.admin.ch/ +- Triple Store d'Octree --- -# Ressources intéressantes +# Linked Open Data Cloud -- Présentation SOLID et Semapps => https://pad.lescommuns.org/p/SlideInteroperabiliteSemapps#/ -- Présentation de SOLID => https://pad.lescommuns.org/p/SlideSolid -- Présentation d'un projet national utilisant des Semapps: https://pad.lescommuns.org/p/SlideCarto4CH#/ -- Présentation d'Archipel => https://www.virtual-assembly.org/wp-content/uploads/2022/01/Archipelago-1.pdf -- Ontologie PAIR de l'Assemblée Virtuelle : https://www.virtual-assembly.org/ontologie-pair/ +Des centaines d'organismes de tout horizons se sont rassemblés pour publier +des données sémantiques ouvertes afin d'aider la recherche scientifique (entre autre). + +Plus de 30 millards de triplets. + +=> https://lod-cloud.net/ --- -Voir le contenu de ces slides: `ssh 5ika.ch -p 1917 cat slides/semantic.md -c` +# Conclusion + +- On n'a fait qu'entrevoir la surface du Web sémantique. +- Il est aujourd'hui très utilisé partout mais on ne le voit pratiquement pas car nous sommes des humains, on lit des docs HTML +- Il permet d'avoir des architectures d'app différentes, distribuées, plus ouvertes +- Moins structuré que le SQL mais plus que le NoSQL => intéressant pour des projets d'Octree comme SPE sémantique et Caroster
A octree/slides_theme.json

@@ -0,0 +1,103 @@

+{ + "document": { + "block_prefix": "\n", + "block_suffix": "\n", + "color": "252", + "margin": 40 + }, + "block_quote": { + "indent": 1, + "indent_token": "│ " + }, + "paragraph": {}, + "list": { + "level_indent": 2 + }, + "heading": { + "block_suffix": "\n", + "color": "39", + "bold": true + }, + "h1": { + "prefix": "██ ", + "suffix": " ", + "color": "#9fc", + "bold": true + }, + "h2": { + "prefix": "▓▓▓ ", + "color": "#1cc" + }, + "h3": { + "prefix": "▒▒▒▒ ", + "color": "#29c" + }, + "h4": { + "color": "#559", + "prefix": "░░░░░ " + }, + "h5": {}, + "h6": {}, + "text": {}, + "strikethrough": { + "crossed_out": true + }, + "emph": { + "italic": true + }, + "strong": { + "bold": true + }, + "hr": { + "color": "240", + "format": "\n--------\n" + }, + "item": { + "block_prefix": "• " + }, + "enumeration": { + "block_prefix": ". " + }, + "task": { + "ticked": "[✓] ", + "unticked": "[ ] " + }, + "link": { + "color": "30", + "underline": true + }, + "link_text": { + "color": "35", + "bold": true + }, + "image": { + "color": "212", + "underline": true + }, + "image_text": { + "color": "243", + "format": "Image: {{.text}} →" + }, + "code": { + "prefix": " ", + "suffix": " ", + "color": "203", + "background_color": "236" + }, + "code_block": { + "theme": "dracula", + "margin": 2 + }, + "table": { + "center_separator": "┼", + "column_separator": "│", + "row_separator": "─" + }, + "definition_list": {}, + "definition_term": {}, + "definition_description": { + "block_prefix": "\n🠶 " + }, + "html_block": {}, + "html_span": {} +}