IFLOT

Cours du département ASI

Nous avons créé un ensemble de triplets RDF décrivant l'offre de formation proposée par le département Architecture des Systèmes d'Information (ASI) de l'INSA de Rouen. Le graphe correspondant a été complété par inférence à l'aide du logiciel Protégé. L'entrée SPARQL est située à cette adresse : http://linkeddata.insa-rouen.fr/asiiflot/sparql.

Exemples de requêtes SPARQL

Les exemples de requêtes proposées peuvent être testés en les copiant dans le formulaire disponible à l'adresse suivante: http://linkeddata.insa-rouen.fr/dataset.html?tab=query&ds=/asiiflot

Noms des cours (en français) proposés par ASI

PREFIX edf: <http://iflot.insa-rouen.fr/ontologies/EducationalItem#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT ?nom
WHERE {
  ?r rdf:type edf:EducationalItem.
  ?r edf:name ?nom
  FILTER(langMatches(lang(?nom), "FR"))
}

On notera ici l'importance de l'inférence. En effet, originellement il n'y a aucune instance de la classe edf:EducationalItem, tous les cours ASI sont des instances de la classe edf:EducationalItemWithCredits. Mais comme cette dernière classe est sous-classe de la classe edf:EducationalItem, le moteur d'inférence a complété le graphe de manière à ce que toute instance de la classe edf:EducationalItemWithCredits soit aussi instance de la classe edf:EducationalItem.

URI des cours reconnus par l'ontologie aiiso

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX aiiso: <http://purl.org/vocab/aiiso/schema#>

SELECT ?r
WHERE {
  ?r rdf:type aiiso:Course.
}

On se positionne ici en tant qu'utilisateur de l'ontologie aiiso sans connaître celle que nous proposons. On notera deux choses :

  • bien que l'ontologie aiiso ne soit pas utilisée pour décrire les cours du département ASI, le fait d'avoir déclaré des équivalences de classe dans notre ontologie (avec les ontologies aiiso et teach) le moteur d'inférence a ajouté les bonnes relations pour répondre à des requêtes SPARQL destinées à l'une de ces deux ontologies;
  • l'ontologie aiiso ne différenciant pas, d'une part les cours indépendamment de leur réalisation (instance de la classe EducationalItem) et d'autre part leurs réalisations (instance de la classe EducationalItemRealization), nous retournons ces deux types d'instances.

Cours uniquement à distance

PREFIX edf: <http://iflot.insa-rouen.fr/ontologies/EducationalItem#>

SELECT DISTINCT ?r
WHERE {
  ?r rdf:type edf:EducationalItemRealization.
  ?r edf:activity / edf:act / edf:location / rdf:type edf:VirtualLocation.
  FILTER NOT EXISTS {
    ?r edf:activity / edf:act / edf:location / rdf:type edf:ActualLocation
  }
}

Un cours uniquement à distance est un cours où tous les actes sont dans des lieux virtuels. La traduction en français de cette requête SPARQL est la suivante : on considère ici qu'un cours est uniquement à distance s'il a au moins un acte pédagogique se déroulant dans un lieu virtuel (de type VirtualLocation) et qu'aucun acte de ce cours ne soit en présentiel. Il est à noter que nous ne pouvons obtenir ce type d'information avec les autres ontologies décrivant des offres de formations (aiiso et teach par exemple).

De la même manière on pourrait obtenir les URI des cours en blended learning à l'aide de la requête suivante (qui ne retourne aucun triplet RDF car nous ne proposons pas ce type de cours) :

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX edf: <http://iflot.insa-rouen.fr/ontologies/EducationalItem#>

SELECT DISTINCT ?r
WHERE {
  ?r rdf:type edf:EducationalItemRealization.
  ?r edf:activity / edf:act / edf:location / rdf:type edf:ActualLocation.
  ?r edf:activity / edf:act / edf:location / rdf:type edf:VirtualLocation.      
}