J'essaie de saisir le concept de Web sémantique. J'ai du mal à comprendre quelle est exactement la différence entre RDF et OWL. Est-ce que OWL est une extension de RDF ou ces deux technologies sont-elles totalement différentes?)?
Le web sémantique vient en couches. Ceci est un résumé rapide de ceux qui, je pense, vous intéressent.
Update : veuillez noter que RDFS est utilisé pour définir la structure des données, et non OWL. OWL décrit les relations sémantiques qui ne font pas l’objet d’une programmation normale, telle qu’une structure C, et qui sont plus proches de la recherche en IA et de la théorie des ensembles.
Triples et URI
Subject - Predicate - Object
Celles-ci décrivent un seul fait. Généralement, les URI sont utilisés pour le sujet et le prédicat. L'objet est soit un autre URI, soit un littéral tel qu'un nombre ou une chaîne. Les littéraux peuvent avoir un type (qui est aussi une adresse URI), et ils peuvent aussi avoir une langue. Oui, cela signifie que les triples peuvent avoir jusqu'à 5 bits de données!
Par exemple, un triple pourrait décrire le fait que Charles est le père de Harry.
<http://example.com/person/harry> <http://familyontology.net/1.0#hasFather> <http://example.com/person/charles> .
Les triples sont une normalisation de la base de données poussée à l'extrême logique. Ils présentent l’avantage de pouvoir charger des triplets de nombreuses sources dans une base de données sans reconfiguration.
RDF et RDFS
La couche suivante est RDF - Le cadre de description des ressources. RDF définit une structure supplémentaire pour les triples. La chose la plus importante RDF = define est un prédicat appelé "rdf: type", utilisé pour dire que les choses sont de certains types. Tout le monde utilise rdf: type, ce qui le rend très utile.
RDFS (RDF Schema) définit certaines classes qui représentent le concept de sujets, objets, prédicats, etc. Cela signifie que vous pouvez commencer à faire des déclarations sur les classes d'objets et les types de relations. Au niveau le plus simple, vous pouvez indiquer des choses telles que http://familyontology.net/1.0#hasFather est une relation entre une personne et une personne. Il vous permet également de décrire dans un texte lisible par l'homme le sens d'une relation ou d'une classe. Ceci est un schéma. Il vous indique les utilisations légales de diverses classes et relations. Il est également utilisé pour indiquer qu'une classe ou une propriété est un sous-type d'un type plus général. Par exemple, "HumanParent" est une sous-classe de "Person". "Loves" est une sous-classe de "Knows".
Sérialisations RDF
RDF peut être exporté dans un certain nombre de formats de fichiers. Le plus commun est RDF + XML, mais cela a quelques faiblesses.
N3 est un format non XML qui est plus facile à lire. Certains sous-ensembles (Turtle et N-Triples) sont plus stricts.
Il est important de savoir que RDF est une façon de travailler avec des triplets, PAS avec les formats de fichiers.
[~ # ~] xsd [~ # ~]
XSD est un espace de noms principalement utilisé pour décrire les types de propriétés, tels que les dates, les entiers, etc. Cela se voit généralement dans les données RDF identifiant le type spécifique d'un littéral. Il est également utilisé dans les schémas XML, qui est un mélange de poissons légèrement différent.
[~ # ~] hibou [~ # ~]
OWL ajoute une sémantique au schéma. Cela vous permet de spécifier beaucoup plus sur les propriétés et les classes. Il est également exprimé en triple. Par exemple, cela peut indiquer que "Si A est marié à B", cela implique "B est marié à A". Ou que si " C isAncestorOf D" et " D isAncestorOf E "then" C isAncestorOf E ". Une autre chose utile, ajoute owl, est la possibilité de dire que deux choses sont identiques, cela est très utile pour joindre des données exprimées dans différents schémas. Vous pouvez dire que la relation "engendrée" dans un schéma est owl: sameAs "engendrée" dans un autre schéma. Vous pouvez également l'utiliser pour indiquer que deux choses sont identiques, telles que comme le "Elvis Presley" sur wikipedia est le même sur la BBC. C'est très excitant car cela signifie que vous pouvez commencer à joindre des données provenant de plusieurs sites (il s'agit de "Données liées").
Vous pouvez également utiliser le langage OWL pour déduire des faits implicites, tels que " C isAncestorOf E ".
En bref:
Comme l'a écrit l'affiche précédente, RDF est une spécification qui vous explique comment définir des triples.
Le problème est que RDF vous permet de tout définir, vous pouvez donc composer une déclaration comme celle-ci:
| subject | predicate | object |
|---------|-----------|--------|
| Alex | Eats | Apples |
| Apples | Eats | Apples |
| Apples | Apples | Apples |
Ces triplets sont valides RDF documents.
Mais, sémantiquement, vous comprenez que ces déclarations sont incorrectes et RDF ne peut pas vous aider à valider ce que vous avez écrit.
Ce n'est pas une ontologie valide.
La spécification OWL définit exactement quoi vous pouvez écrire avec RDF afin d'avoir une ontologie valide.
Les ontologies peuvent avoir plusieurs propriétés.
C’est pourquoi OWL (version 1) définit plusieurs versions telles que OWL DL, OWL Lite, OWL Full.
RDF, RDFS et OWL sont des moyens d’exprimer des informations ou des connaissances de plus en plus complexes. Tous peuvent être sérialisés en syntaxe RDF/XML (ou toute autre RDF comme Turtle ou N3 par exemple).
Ces technologies sont liées et supposées être interopérables, mais elles ont des origines différentes, ce qui explique peut-être pourquoi la relation entre elles est compliquée à comprendre. Le choix de l’un ou de l’autre dépend de la complexité de la situation à modéliser.
Résumé de l'expressivité
RDF : Représentation simple, centrée sur les instances et sur la correspondance avec leurs types (rdf:type
). Il est possible de définir des propriétés personnalisées pour lier des données et créer des triples. RDF les données sont interrogées avec SPARQL. Exemple de RDF sérialisées dans Turtle:
@prefix : <http://www.example.org/> .
:john rdf:type :Man .
:john :livesIn "New-York" .
:livesIn rdf:type rdf:Property .
RDFS: Certaines situations ne sont pas facilement modélisées par RDF seul, il est parfois intéressant de représenter des relations plus complexes telles que des sous-classes () type d'un type ) par exemple. RDFS fournit des moyens spéciaux pour représenter de tels cas, avec des constructions comme rdfs:subClassOf
, rdfs:range
ou rdfs:domain
. Idéalement, un motif peut comprendre la sémantique RDFS et augmenter le nombre de triples en fonction des relations: Par exemple, si vous avez les triples John a Man
et Man rdfs:subClassOf
Human
alors vous devriez générer aussi le triple John a Human
. Notez que ceci n'est pas possible avec RDF seul. Les données RDFS sont interrogées à l'aide de SPARQL. Exemple de RDFS sérialisé dans Turtle:
@prefix : <http://www.example.org/> .
:john rdf:type :Man .
:Man rdfs:subClassOf :Human .
:john :livesIn "New-York" .
:livesIn rdf:type rdf:Property .
# After reasoning
:john rdf:type :Human .
OWL: Le plus haut niveau d'expressivité. Les relations entre les classes peuvent être formellement modélisées sur la base de la logique de description (théorie mathématique). OWL s'appuie fortement sur le raisonneur, il est possible d'exprimer des constructions complexes telles que des propriétés chaînées par exemple ou des restrictions entre classes. OWL sert à construire des ontologies ou des schémas au sommet des jeux de données RDF. Etant donné que OWL peut être sérialisé en tant que RDF/XML, il est théoriquement possible de l'interroger via SPARQL, mais il est beaucoup plus intuitif de le faire. interroger une ontologie OWL avec une interrogation DL (qui est généralement une expression de classe OWL standard). Exemple de constructions OWL sérialisées dans Turtle.
@prefix : <http://www.example.org/> .
:livesIn rdf:type owl:DatatypeProperty .
:Human rdf:type owl:Class .
:Man rdf:type owl:Class .
:Man rdfs:subClassOf :Human .
:John rdf:type :Man .
:John rdf:type owl:NamedIndividual .
Tout d’abord, comme on l’a déjà souligné, le hibou peut être sérialisé en RDF.
Deuxièmement, OWL ajoute une capacité ontologique à RDF (qui ne fournit en soi qu'une capacité extrêmement limitée de représentation formelle connue), en fournissant à l'appareil la possibilité de définir les composants de votre triple à l'aide d'une description formelle de premier ordre calculable. C'est ce que signifient les affiches ici quand ils parlent de "richesse sémantique".
Troisièmement, il est important de comprendre que dans OWL-Full (pour OWL 1), rdfs: class et owl: class sont équivalents et que dans OWL-DL, owl: class est une sous-classe de rdfs: class. En effet, cela signifie que vous pouvez utiliser une ontologie OWL en tant que schéma pour RDF (qui ne nécessite pas formellement de schémas).
J'espère que cela aide à clarifier davantage.
J'ai personnellement trouvé ce diaporama très utile et compréhensible: http://www.slideshare.net/rlovinger/rdf-and-owl
RDF est un moyen de définir un triple 'sujet', 'prédicat', 'valeur' . Par exemple, si je veux dire,
"je m'appelle Pierre"
Je souhaiterai écrire
<mail:[email protected]> <foaf:name> "Pierre"
Voir le <foaf:name>
? cela fait partie de l'ontologie FOAF . Une ontologie est un moyen formel de décrire les propriétés, les classes d'un sujet donné et [~ # ~] owl [~ # ~] est un ( RDF) pour définir une ontologie.
Vous utilisez C++, Java, etc ... pour définir une classe, une sous-classe, un champ, etc ...
class Person
{
String email_as_id;
String name;
}
RDF utilise OWL pour définir ces types d'instructions.
Un autre endroit pour poser ce genre de question: http://www.semanticoverflow.com/
Lorsque vous utilisez le terme RDF, vous devez distinguer deux choses:
Vous pouvez vous référer à RDF en tant que concept :
Une façon de décrire les choses/la logique/tout en utilisant des ensembles de triples.
Exemple:
"Anna a des pommes." "Les pommes sont en bonne santé."
Ci-dessus, vous avez deux triplets décrivant deux ressources "Anna" et "pommes". Le concept de RDF (structure de description de ressource)) est que vous pouvez décrire des ressources (n'importe quoi) avec des ensembles de 3 mots seulement (termes). À ce niveau, vous ne vous souciez pas de la façon dont vous stockez informations, que vous ayez une chaîne de 3 mots, une peinture sur un mur, une table à 3 colonnes, etc.
À ce niveau conceptuel, la seule chose qui importe est que vous pouvez représenter tout ce que vous voulez en utilisant des déclarations triples.
Vous pouvez vous référer à RDF comme vocabulaire
Un vocabulaire est simplement un ensemble de définitions de termes stockées dans un fichier ou quelque part. Ces termes définis ont pour but d'être généralement réutilisés dans d'autres descriptions afin que les utilisateurs puissent décrire les données (ressources) plus facilement et de manière standard.
Sur le Web, vous trouverez des vocabulaires standard tels que:
RDF ( https://www.w3.org/1999/02/22-rdf-syntax-ns )
RDFS ( https://www.w3.org/2000/01/rdf-schema# )
OWL ( https://www.w3.org/2002/07/owl )
Le vocabulaire RDF) définit des termes qui vous aident à décrire (au niveau le plus élémentaire possible) les individus/instances de classes. Exemple: rdf: type, rdf: Propriété.
Avec rdf: type, vous pouvez décrire qu'une ressource est une instance d'une classe:
<http://foo.com/anna> rdf:type <http://foo.com/teacher>
Ainsi, le vocabulaire RDF) contient des termes qui ciblent les descriptions de base des instances de classe et d’autres descriptions (comme la définition de déclaration triple ou la définition de prédicat ... en général, ce qui est réel pour = RDF).
Le vocabulaire RDFS contient des définitions de termes qui vous aident à décrire les classes et leurs relations. Le vocabulaire RDFS ne se soucie pas des instances de classes (individus) comme le vocabulaire RDF. Exemple: la propriété rdfs: subClassOf que vous pouvez utiliser pour décrire le fait qu'une classe A est une sous-classe de la classe B.
Le RDF et les vocabulaires RDFS dépendent l'un de l'autre. RDF définit ses termes à l'aide de RDFS, et RDFS utilise RDF pour définir ses propres termes.
Les vocabulaires RDF/RDFS fournissent des termes qui peuvent être utilisés pour créer des descriptions très basiques de ressources. Si vous voulez avoir des descriptions plus complexes et précises, vous devez utiliser le vocabulaire OWL.
Le vocabulaire OWL est fourni avec un ensemble de nouveaux termes visant des descriptions plus détaillées. Ces termes sont définis en utilisant les termes des vocabulaires RDF/RDFS.
owl:ObjectProperty a rdfs:Class ;
rdfs:label "ObjectProperty" ;
rdfs:comment "The class of object properties." ;
rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
rdfs:subClassOf rdf:Property .
owl:DatatypeProperty a rdfs:Class ;
rdfs:label "DatatypeProperty" ;
rdfs:comment "The class of data properties." ;
rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
rdfs:subClassOf rdf:Property .
owl:TransitiveProperty a rdfs:Class ;
rdfs:label "TransitiveProperty" ;
rdfs:comment "The class of transitive properties." ;
rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
rdfs:subClassOf owl:ObjectProperty .
Comme vous pouvez le voir ci-dessus, le vocabulaire OWL étend le concept de rdf: Property en créant de nouveaux types de propriétés moins abstraites et pouvant fournir des descriptions plus précises des ressources.
Conclusions:
RDFS vous permet d’exprimer les relations entre les choses en normalisant sur un format souple à base triple, puis en fournissant un vocabulaire ("mots-clés" tels que rdf:type
ou rdfs:subClassOf
) qui peut être utilisé pour dire des choses.
OWL est similaire, mais plus grand, meilleur et plus méchant. OWL vous permet d’en dire beaucoup plus sur votre modèle de données, vous indique comment utiliser efficacement les requêtes de base de données et les raisonneurs automatiques, et fournit des annotations utiles pour intégrer vos modèles de données dans le monde réel.
Parmi les différences entre RDFS et OWL, la plus importante est simplement que OWL fournit un vocabulaire bien plus vaste que vous pouvez utiliser pour dire des choses.
Par exemple, OWL inclut tous vos anciens amis de RDFS tels que rdfs:type
, rdfs:domain
, et rdfs:subPropertyOf
. Cependant, OWL vous donne également de nouveaux et meilleurs amis! Par exemple, OWL vous permet de décrire vos données en termes d'opérations définies:
Example:Mother owl:unionOf (Example:Parent, Example:Woman)
Il vous permet de définir des équivalences entre bases de données:
AcmeCompany:JohnSmith owl:sameAs PersonalDatabase:JohnQSmith
Il vous permet de restreindre les valeurs de propriété:
Example:MyState owl:allValuesFrom (State:NewYork, State:California, …)
en fait, OWL fournit tellement de vocabulaire nouveau et sophistiqué à utiliser dans la modélisation de données et le raisonnement qui tire sa propre leçon!
Une autre différence majeure est que contrairement à RDFS, OWL ne vous indique pas seulement comment vous pouvez utiliser un certain vocabulaire, il vous indique en fait comment ne peut pas l'utiliser. En revanche, RDFS vous offre un monde dans lequel vous pouvez ajouter à peu près tout le triple que vous voulez.
Par exemple, dans RDFS, tout ce que vous ressentez peut être une instance de rdfs:Class
. Vous pouvez décider de dire que Beagle est un rdfs:Class
puis dites que Fido est une instance de Beagle:
Example: Beagle rdf:Type rdfs:Class
Example:Fido rdf:Type Example: Beagle
Ensuite, vous pouvez décider de dire des choses sur les Beagles, peut-être que vous voulez dire que Beagle est une instance de des chiens élevés en Angleterre:
Example:Beagle rdf:Type Example:BreedsBredInEngland
Example: BreedsBredInEngland rdf:Type rdfs:Class
La chose intéressante dans cet exemple est que Example:Beagle
est utilisé à la fois comme classe et comme instance . Beagle est une classe dont Fido est membre de, mais Beagle est lui-même membre d'une autre classe: Things Bred En Angleterre.
Dans RDFS, tout cela est parfaitement légal, car RDFS ne limite pas les instructions que vous pouvez et ne pouvez pas insérer. En revanche, dans OWL, ou du moins dans certaines versions de OWL, les instructions ci-dessus ne sont en fait pas légales: vous n'êtes tout simplement pas autorisé à dire que quelque chose peut être à la fois une classe et une instance .
Il s’agit alors d’une deuxième différence majeure entre RDFS et OWL. RDFS permet un "tout-en-un" , tout se passe comme un monde plein de Far West, de Easies, et de Salvador Dali. Le monde de OWL impose une structure beaucoup plus rigide.
Supposons que vous ayez passé la dernière heure à construire une ontologie décrivant votre entreprise de fabrication de radios. Pendant le déjeuner, votre tâche consiste à créer une ontologie pour votre entreprise de fabrication d’horloges. Cet après-midi, après un bon café, votre patron vous indique qu'il vous faudra créer une ontologie pour votre activité très rentable de radio-réveil. Y a-t-il un moyen de réutiliser facilement le travail de la matinée?
OWL rend les choses comme cela très, très faciles. Owl:Import
est ce que vous utiliseriez dans une situation de radio-réveil, mais OWL vous offre également une grande variété d’annotations telles que owl:versionInfo
, owl:backwardsCompatibleWith
, et owl:deprecatedProperty
, qui peut facilement être utilisé, relie des modèles de données en un tout cohérent.
Contrairement à RDFS, OWL est sûr de satisfaire tous vos besoins en modélisation de méta-méta-données.
OWL vous donne un vocabulaire beaucoup plus vaste, ce qui vous permet de dire facilement tout ce que vous voulez dire sur votre modèle de données. Il vous permet même d’adapter ce que vous dites en fonction des réalités informatiques des ordinateurs actuels et de l’optimiser pour des applications particulières (pour les requêtes de recherche, par exemple). En outre, OWL vous permet d’exprimer facilement les relations entre différentes ontologies à l’aide d’un cadre d’annotation standard. .
Tous ces avantages constituent un avantage comparé à RDFS et valent généralement l’effort supplémentaire qu’il faut pour se familiariser avec eux.
Source: RDFS vs. OWL
J'essaie de saisir le concept de Web sémantique. J'ai du mal à comprendre quelle est exactement la différence entre RDF et OWL. Est-ce que OWL est une extension de RDF ou ces deux technologies sont-elles totalement différentes?)?
En bref, oui, vous pouvez dire que OWL est une extension de RDF.
De manière plus détaillée, avec RDF vous pouvez décrire un graphe dirigé en définissant des triplets sujet-prédicat-objet. Le sujet et l'objet sont les nœuds, le prédicat est le bord, ou, en d'autres termes, le prédicat décrit la relation entre le sujet et l'objet, par exemple :Tolkien :wrote :LordOfTheRings
ou :LordOfTheRings :author :Tolkien
, etc ... Les systèmes de données liés utilisent ces triplets pour décrire les graphes de connaissance et permettent de les stocker, de les interroger. Maintenant, ce sont des systèmes énormes, mais vous pouvez utiliser RDF) pour des projets plus petits. Chaque application a un langage spécifique à un domaine (ou un langage omniprésent DDD). Vous pouvez décrire ce langage dans votre ontologie/vocabulaire afin que vous puissiez décrire le modèle de domaine de votre application avec un graphique, que vous pouvez visualiser, le montrer au responsable de l'entreprise, parler des décisions commerciales basées sur le modèle et construire l'application au-dessus de cela. Vous pouvez lier le vocabulaire de votre application aux données qu’il renvoie et à un vocabulaire connu des moteurs de recherche, tel que microdonnées (par exemple, vous pouvez utiliser HTML avec RDFA pour le faire), afin que les moteurs de recherche puissent trouver facilement vos applications, car La connaissance de ce qu’elle fait peut être traitée par machine. C’est ainsi que fonctionne le Web sémantique (du moins c’est ce que je l’imagine).
Maintenant, pour décrire les applications orientées objet, vous avez besoin de types, classes, propriétés, instances, etc. Avec RDF vous ne pouvez décrire que des objets. RDFS (schéma RDF) vous aide à décrire les classes, l’héritage ( basé sur des objets ofc.), mais il est trop large. Pour définir des contraintes (par exemple, un enfant par famille chinoise), vous avez besoin d’un autre vocabulaire. OWL (langage d’ontologie Web) effectue ce travail. OWL est une ontologie que vous pouvez utiliser pour décrire applications Web. Il intègre les types simples XSD.
Alors RDF -> RDFS -> OWL -> MyWebApp
est l’ordre pour décrire votre application Web de manière de plus en plus spécifique.
Dans le modèle objet de document WC3, un document est une chose abstraite: un élément avec du texte, des commentaires, des attributs et d'autres éléments imbriqués dans celui-ci.
Dans le Web sémantique, nous traitons avec un ensemble de "triples". Chaque triple est:
OWL est destiné au Web sémantique, comme les schémas au modèle d'objet de document W3C. Il documente la signification des différents URI et spécifie comment ils sont utilisés de manière formelle et contrôlables par une machine. Un web sémantique peut ou peut ne pas être valide par rapport au fichier OWL qui lui est applicable, tout comme un document peut être ou ne pas être valide par rapport à un schéma.
RDF est sur le Web sémantique comme XML est sur le DOM - il s'agit d'une sérialisation d'un ensemble de triples.
Bien sûr, RDF est généralement sérialisé sous forme de document XML ... mais il est important de comprendre que RDF n’est pas la même chose que "la sérialisation XML de RDF ".
De même, OWL peut être sérialisé en utilisant OWL/XML, ou (pardon, cela), il peut être exprimé en RDF, qui est lui-même généralement sérialisé en XML.
La pile Web sémantique de base a déjà été beaucoup expliquée dans ce fil. Je voudrais me concentrer sur la question initiale et comparer RDF à OWL.
Utiliser OWL est essentiel pour avoir plus de sens (raisonnement et inférence) en ne connaissant que quelques faits. Ces informations "créées dynamiquement" peuvent également être utilisées pour les requêtes correspondantes, comme dans SPARQL.
Quelques exemples montreront que cela fonctionne réellement avec OWL - ceux-ci sont tirés de mon parler des bases du web sémantique au TYPO3camp Mallorca, Espagne en 2015.
Spaniard: Person and (inhabitantOf some SpanishCity)
Cela signifie qu'un Spaniard
doit être un Person
(et hérite donc de toutes les propriétés de la partie déduction) et doit avoir au moins une (ou plusieurs) SpanishCity
.
<Palma isPartOf Mallorca>
<Mallorca contains Palma>
L'exemple montre le résultat de l'application de inverseOf
aux propriétés isPartOf
et contains
.
<:hasParent owl:cardinality “2“^^xsd:integer>
Cela définit que chaque Thing
(dans ce scénario probablement un Human
) a exactement deux parents - la cardinalité est affectée à la propriété hasParent
.
Une image parle mille mots! Ce diagramme ci-dessous devrait renforcer ce que Christopher Gutteridge a déclaré dans ce réponse que le Web sémantique est une "architecture en couches".
Source: https://www.obitko.com/tutorials/ontologies-semantic-web/semantic-web-architecture.html
RDF est un puissant langage formel de représentation des connaissances et une norme fondamentale du Web sémantique. Il possède son propre vocabulaire qui définit les concepts et relations de base (par exemple, rdf: type correspond à la relation isA), et un modèle de données permettant des instructions interprétables par machine sous la forme objet-prédicat-objet (ressource-propriété-valeur). triples, appelés RDF triples, tels que picture-depicts-book. L'extension du vocabulaire RDF avec les concepts nécessaires à la création de vocabulaires contrôlés et d'ontologies de base) est appelée RDF Schéma ou RDF Langage de description de vocabulaire (RDFS)). RDFS). RDFS permet d'écrire des instructions sur les classes et les ressources et d'exprimer des structures taxonomiques, telles que via la superclasse relations sous-classe.
Les domaines de connaissances complexes nécessitent davantage de fonctionnalités que ce qui est disponible dans RDFS, ce qui a conduit à l'introduction de OWL . OWL prend en charge les relations entre les classes (union, intersection, disjonction, équivalence), les contraintes de cardinalité de propriété (minimum, maximum, nombre exact, chaque personne ayant exactement un père), la riche typographie des propriétés, les caractéristiques des propriétés et les propriétés spéciales (transitive, symétrique, fonctionnel, fonctionnel inverse, par exemple, A ex: hasAncestor B et B ex: hasAncestor C implique que A ex: hasAncestor C), spécifiant qu'une propriété donnée est une clé unique pour les instances d'une classe particulière, ainsi que des restrictions de domaine et de plage pour les propriétés.
La meilleure solution consiste à lire le livre de l'un des pionniers du Web sémantique lui-même, "Web sémantique pour l'ontologiste qui travaille", de James Hendler. Si vous recherchez un cours accéléré. Vérifiez ce cours d'udemy: