Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
"\n",
"En outre, RDF est le fondement du web sémantique, une vision du web où les informations sont non seulement disponibles pour les humains à lire, mais aussi pour les machines à comprendre et à traiter.\n",
"\n",
"---\n",
"***\n",
"\n",
"### 2. RDF.Net\n",
"\n",
Expand All @@ -67,31 +67,31 @@
"- `IGraph` : l'interface pour les graphes. Un document RDF forme un graphe au sens mathématique. Nous représentons donc des ensembles de Triples comme des graphes.\n",
"- `ITripleStore` : Un Triple Store est une collection de un ou plusieurs graphes.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### a) Graphes\n",
"\n",
"Un document RDF peut être considéré comme formant un graphe mathématique. Nous représentons donc des ensembles de triples RDF comme des graphes. Tous les graphes de la bibliothèque sont des implémentations de l'interface `IGraph` et dérivent généralement de la classe abstraite `BaseGraph`. Une implémentation `IGraph` est une représentation en mémoire d'un document RDF.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### b) Noeuds\n",
"\n",
"Un `INode` représente un nœud dans un graphe RDF, ce qui est parfois appelé un terme RDF. Il existe plusieurs types de nœuds, chacun représenté par une interface spécialisée, comme `IBlankNode` pour un nœud anonyme, `ILiteralNode` pour un nœud avec une valeur textuelle, ou encore `IUriNode` pour un nœud URI.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### c) Triples\n",
"\n",
"Un Triple est l'unité de base des données RDF, les nœuds à eux seuls n'ont pas de signification, mais utilisés dans un Triple, ils forment une déclaration qui exprime une connaissance. Un Triple est formé d'un Sujet, d'un Prédicat et d'un Objet. Il est interprété comme déclarant qu'un certain Sujet est lié à un certain Objet par une relation spécifiée par le Prédicat.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### d) Triple Store\n",
"\n",
"Un Triple Store représente une collection de Graphes et est utilisé pour travailler avec de grandes quantités de RDF. Les Triple Stores sont conçus pour être moins tangibles que les Graphes en termes d'interface et d'implémentations.\n",
"\n",
"---\n",
"***\n",
"\n",
"### 3. DBpedia\n",
"\n",
Expand All @@ -105,7 +105,7 @@
"\n",
"Jena Fuseki est un serveur de triplestore open-source qui permet de stocker et de requêter des données RDF. Il prend en charge le langage de requête SPARQL et offre une interface utilisateur Web pour gérer les données RDF.\n",
"\n",
"---\n",
"***\n",
"\n",
"## B. Introduction à RDF et Sparql avec RDF.Net\n",
"\n",
Expand Down Expand Up @@ -865,7 +865,7 @@
"\n",
"Plusieurs de ces sérialisations ont plusieurs variantes avec des règles de syntaxe différentes. Pour un résumé complet des formats pris en charge pour l'écriture avec dotNetRDF, consultez les formats pris en charge par dotNetRDF.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### a) Parsers de graphe\n",
"\n",
Expand Down Expand Up @@ -968,7 +968,7 @@
"source": [
"Dans l'exemple ci-dessus, les parsers sont réutilisables. Une fois instanciés, vous pouvez les utiliser autant de fois que nécessaire. Une autre fonctionnalité utile est que les parsers sont conçus pour être thread-safe, de sorte que plusieurs threads peuvent utiliser la même instance d'un parser pour analyser simultanément différentes entrées sans interférer les uns avec les autres. Les parsers sont généralement capables de générer des exceptions de type `RdfParseException` et `RdfException`, il est donc recommandé d'utiliser des blocs `try/catch` autour de l'utilisation des parsers.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### b) Lecture de RDF à partir de sources courantes\n",
"\n",
Expand Down Expand Up @@ -1458,7 +1458,7 @@
"source": [
"Cela est approximativement équivalent à la façon dont fonctionne `StringParser` en interne, mais cette méthode nécessite de connaître le format du RDF à l'avance.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### c) Variantes de sérialisation\n",
"\n",
Expand All @@ -1473,7 +1473,7 @@
"\n",
"Consultez la documentation spécifique d'un parser pour savoir si des variantes de sérialisation sont prises en charge.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### d) Configuration des parsers\n",
"\n",
Expand All @@ -1484,7 +1484,7 @@
"- `TokenQueueMode.SynchronousBufferDuringParsing` : le fichier est tokenisé au fur et à mesure que l'analyse progresse, un nombre limité de tokens est généré et mis en mémoire tampon à chaque fois que le parser demande un token.\n",
"- `TokenQueueMode.AsynchronousBufferDuringParsing` : le fichier est tokenisé en arrière-plan pendant que l'analyse progresse. Si le parser demande un token et que le tokeniseur n'a pas encore produit suffisamment de tokens, le parser doit attendre qu'un token soit disponible.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### e) Parsers de stockage\n",
"\n",
Expand All @@ -1502,13 +1502,13 @@
"\n",
"Comme pour les parsers de graphe, diverses exceptions peuvent être générées.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### f) Lecture de jeux de données RDF à partir de sources courantes\n",
"\n",
"De la même manière que pour les parsers de graphe, les parsers de stockage peuvent tous être invoqués indirectement avec différentes méthodes des classes `EmbeddedResourceLoader`, `FileLoader`, `StringParser` et `Loader`. Consultez la documentation de l'API de ces classes pour les surcharges pertinentes.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### g) Analyse avancée\n",
"\n",
Expand Down Expand Up @@ -1625,7 +1625,7 @@
"\n",
"Il existe plusieurs implémentations incluses qui effectuent différentes opérations, telles que la redirection des triples directement vers un fichier, un triple store natif, etc. Vous pouvez également implémenter votre propre gestionnaire, soit entièrement à partir de zéro, soit en dérivant de `BaseRdfHandler`, comme le font nos propres implémentations, pour obtenir la plupart de l'implémentation gratuitement. Consultez l'API Handlers pour plus de discussions sur ce sujet.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### h) Comportement des parsers\n",
"\n",
Expand All @@ -1640,7 +1640,7 @@
"- Gestion des fichiers/flux comme les parsers de graphe.\n",
"- Si le parser produit un graphe qui existe déjà dans le store de destination, une erreur peut se produire en fonction du comportement de ce store lorsque le graphe existe déjà.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### i) Classes de parsers\n",
"\n",
Expand All @@ -1656,7 +1656,7 @@
"- `TriXParser` : TriX\n",
"- `TurtleParser` : Turtle, NTriples\n",
"\n",
"---\n"
"***\n"
]
},
{
Expand Down Expand Up @@ -1741,7 +1741,7 @@
"\n",
"Plusieurs de ces sérialisations ont plusieurs variantes avec des règles de syntaxe différentes.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### a) Utilisation de base\n",
"\n",
Expand Down Expand Up @@ -1860,7 +1860,7 @@
"source": [
"Comme pour les Parsers, un Writer est une classe réutilisable qui peut être utilisée autant de fois que vous le souhaitez pour générer des graphes dans des fichiers/flux.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### b) Écriture dans des chaînes de caractères\n",
"\n",
Expand Down Expand Up @@ -2204,13 +2204,13 @@
},
"source": [
"\n",
"---\n",
"***\n",
"\n",
"#### d) Formateurs\n",
"\n",
"Les formateurs sont une alternative à l'utilisation d'un `IRdfWriter` pour générer du RDF. Leur avantage est qu'ils peuvent être utilisés pour formater des nœuds et des triples individuellement pour afficher uniquement ce que vous voulez et comment vous le voulez. Cependant, leur inconvénient est qu'ils ne peuvent pas utiliser le même ensemble de techniques de compression qu'un `IRdfWriter` complet lors de l'écriture d'un graphe entier, car ils sont délibérément dépourvus d'état.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### e) Comportement du Writer\n",
"\n",
Expand All @@ -2221,7 +2221,7 @@
"- Si un problème survient avec le graphe en cours d'enregistrement, mais ne l'empêche pas d'être enregistré, le writer déclenchera un événement d'avertissement (`Warning event`).\n",
"- Si le graphe en cours d'écriture contient des triples/nœuds qui ne peuvent pas être écrits par le writer, une `RdfOutputException` sera levée.\n",
"\n",
"---\n",
"***\n",
"\n",
"#### f) Classes Writer\n",
"\n",
Expand All @@ -2239,7 +2239,7 @@
"\n",
"De plus, il existe une classe d'aide, `SingleGraphWriter`, qui implémente l'interface `IRdfWriter` et permet d'écrire un graphe à l'aide d'un writer qui implémente l'interface `IStoreWriter`. Cela permet d'écrire un graphe en utilisant les formats de sérialisation décrits dans la section \"Travailler avec les Triple Stores\".\n",
"\n",
"---"
"***"
]
},
{
Expand Down Expand Up @@ -8857,7 +8857,7 @@
"\n",
"Les fonctionnalités de Trinity RDF et les capacités d'inférence d'OWL dans RDF.Net permettent de manipuler des données RDF de manière plus intuitive et efficace. Grâce à ces outils, les développeurs peuvent interroger, inférer et travailler avec des graphes RDF et des ontologies de manière simplifiée et puissante.\n",
"\n",
"---\n",
"***\n",
"\n",
"**Retour au sommaire** : [Index SemanticWeb](../README.md)"
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1099,7 +1099,7 @@
"\n",
"**Leçon clé** : la **réification classique** est le mécanisme portable pour annoter des triplets (provenance, confiance, temporalité) — au prix d'une verbosité de 4 triplets auxiliaires par fait. RDF-star (RDF 1.2) vise à éliminer ce coût avec une syntaxe dédiée `<< s p o >>`, mais reste un standard jeune. Les **graphes nommés** offrent un compromis intermédiaire : grouper des triplets par contexte et annoter le groupe. dotNetRDF gère les trois (Graph, SparqlQueryParser, TripleStore) avec la même API `VDS.RDF` que ce notebook utilise.\n",
"\n",
"---\n",
"***\n",
"\n",
"**Navigation** : [`<< SW-9 JSONLD`](SW-9-CSharp-JSONLD.ipynb) | [Index SemanticWeb](README.md) | Jumeau Python : [`SW-10-Python-RDFStar`](SW-10-Python-RDFStar.ipynb)\n",
"\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 0. Installation de dotNetRDF\n",
"\n",
Expand Down Expand Up @@ -175,7 +175,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 1. Les triplets RDF\n",
"\n",
Expand Down Expand Up @@ -388,7 +388,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 2. Types de noeuds\n",
"\n",
Expand Down Expand Up @@ -1077,7 +1077,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 3. Espaces de noms et prefixes\n",
"\n",
Expand Down Expand Up @@ -1431,7 +1431,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 4. Formats de serialisation\n",
"\n",
Expand Down Expand Up @@ -2080,7 +2080,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 5. Exemple guide 1 : Modeliser un reseau social\n",
"\n",
Expand Down Expand Up @@ -2273,7 +2273,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 6. Exemple guide 2 : Comparer les tailles de serialisation\n",
"\n",
Expand Down Expand Up @@ -2451,7 +2451,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 7. Exercice : a vous de jouer\n",
"\n",
Expand Down Expand Up @@ -2673,7 +2673,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## Resume\n",
"\n",
Expand Down Expand Up @@ -2709,7 +2709,7 @@
"- **DCMI Metadata Terms** — Dublin Core Metadata Initiative. Vocabulaire `dc:`.\n",
"- **SKOS Simple Knowledge Organization System** — Miles & Bechhofer, W3C Recommendation (2009). Vocabulaire `skos:`.\n",
"\n",
"---\n",
"***\n",
"\n",
"**Navigation** : [<< 1-Setup](SW-1-CSharp-Setup.ipynb) | [Index](README.md) | [3-GraphOperations >>](SW-3-CSharp-GraphOperations.ipynb)"
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 1. Installation et Imports\n",
"\n",
Expand Down Expand Up @@ -146,7 +146,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 2. Créer un Graphe et Ajouter des Triples\n",
"\n",
Expand Down Expand Up @@ -239,7 +239,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 3. Types de Noeuds\n",
"\n",
Expand Down Expand Up @@ -334,7 +334,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 4. Serialisation - Formats de Sortie\n",
"\n",
Expand Down Expand Up @@ -450,7 +450,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 5. Charger un Fichier Existant\n",
"\n",
Expand Down Expand Up @@ -522,7 +522,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## 6. Tableau de Correspondance dotNetRDF / rdflib\n",
"\n",
Expand Down Expand Up @@ -571,7 +571,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## Exercices\n",
"\n",
Expand Down Expand Up @@ -734,7 +734,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## Resume\n",
"\n",
Expand All @@ -755,7 +755,7 @@
"- **SW-4b-Python-SPARQL** : Le langage de requête SPARQL en Python\n",
"- **SW-5b-Python-LinkedData** : Interroger DBpedia et Wikidata avec SPARQLWrapper\n",
"\n",
"---\n",
"***\n",
"\n",
"**Retour au sommaire** : [Index SemanticWeb](README.md)"
]
Expand Down Expand Up @@ -1064,7 +1064,7 @@
"tags": []
},
"source": [
"---\n",
"***\n",
"\n",
"## Exemple guide 3 : Construire un graphe RDF complet\n",
"\n",
Expand Down
Loading
Loading