prefix rdf: prefix xs

publicité
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix xs: <http://www.w3.org/2001/XMLSchema#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix classe: <http://docs.oracle.com/javase/7/docs/api/>
prefix methode: <http://fr.wikipedia.org/wiki/Java_(langage)/methode#>
prefix constructeur: <http://fr.wikipedia.org/wiki/Java_(langage)/constructeur#>
prefix attribut: <http://fr.wikipedia.org/wiki/Java_(langage)/attribut#>
prefix parametre: <http://fr.wikipedia.org/wiki/Java_(langage)/parametre#>
prefix exception: <http://fr.wikipedia.org/wiki/Java_(langage)/exception#>
prefix interface: <http://fr.wikipedia.org/wiki/Java_(langage)/interface#>
##########################################################
#R1: Afficher tous les triplets
# SELECT * WHERE {?subject ?predicate ?object}
##########################################################
#R2: Afficher les classes du package java.util selon l'ordre alphabétique des identifiants
#
# select ?id_classe where {
# ?classe classe:a_identifier ?id_classe;
# classe:a_package ?package.
# FILTER (?package="java.lang")
# } ORDER BY ?id_classe
##########################################################
#R3: Afficher les attributs de la classe java.lang.Boolean ainsi que leurs types
#
# select ?type ?nom where {
# ?classe classe:a_identifier ?id_classe;
# classe:a_package ?package;
# classe:a_fields ?a.
# ?a ?b ?c.
# ?c attribut:type ?type;
# attribut:identifiant ?nom.
# FILTER (?package="java.lang" && ?id_classe="Boolean")
#}
##########################################################
#R4: chercher les méthodes qui ne lancent pas d'exceptions
#
# select ?m1
# where{
# ?classe classe:a_methodes ?bagMeth.
# ?bagMeth ?c1 ?m1.
# ?m1 ?a ?type.
# OPTIONAL{
# ?m1 methode:a_exceptions ?excBag.
#}
# FILTER (!bound(?excBag) )
#}
#########################################################
#R5: compter le plus grand nombre de méthodes qu'une classe contient
#
# select (max(?count) as ?max)
# where{
# select ?classe (count(?methode) as ?count)
# where {
#
# ?classe classe:a_methodes ?bagMeth.
#
# ?bagMeth ?bagMethO ?methode.
# ?methode methode:identifiant ?idM.
#
# }group by ?classe
#}
#########################################################
#R6: chercher les classes qui ont plus de 15 méthodes
#
# select ?classe (count(?methode) as ?count)
# where{
# ?classe classe:a_methodes ?bagMeth.
# ?bagMeth ?bagMethO ?methode.
#}
# group by ?classe
# HAVING (count(?methode) >= 15)
#########################################################
#R7: chercher les méthodes qui sont définis depuis jdk 1.7
#
# select ?methode ?since
# where{
# ?methode methode:since ?since.
# FILTER (?since = "1.7")
#}
##########################################################
#R8: chercher les attributs hérités des classes à partir de leur superClasse directe
#
# select ?classe ?id_superClass ?m ?type_field ?id_field where {
# ?classe classe:a_identifier ?id_classe;
# classe:a_package ?packSub;
# classe:a_superClass ?id_superClass.
#
# ?id_superClass classe:a_fields ?a;
# classe:a_package ?packSup.
# ?a ?g ?h.
# ?h attribut:type ?type_field;
# attribut:identifiant ?id_field;
# attribut:a_modifiers ?modifiers.
# ?modifiers ?y ?m.
# FILTER (?m="protected" || ?m="public" || (?m="default" && ?packSub=?packSup) )
#}
##########################################################
#R9: chercher pour chaque méthode, les méthodes qu'elle redéfinit de la superClasse
#les contraintes sont: une méthode m1 redéfinit une méthode m2 si
# classe de m1 est sous classe de celle de m2
# signature m1 est une sous signature de m2
# package de m1 =package de m2
# m2 pas private // On n'a pas à traiter ce cas car il n'y a pas de méthodes private
#
# select ?classe ?mOverrides ?super ?mOverriden
# where
#{
# ?classe classe:a_package ?pack_sub;
# classe:a_identifier ?sub;
# classe:a_methodes ?bagMethSub.
# ?bagMethSub ?cSub ?mOverrides.
# ?mOverrides methode:signature ?signSub.
#
# ?classe classe:a_superClass ?super.
# ?super classe:a_package ?pack_super;
# classe:a_methodes ?bagMethSuper.
# ?bagMethSuper ?cSup ?mOverriden.
# ?mOverriden methode:signature ?signSup.
# FILTER ( ?signSub=?signSup && ?pack_sub=?pack_super)
#}
#################################################################
#R10: chercher les relations de overload (surcharge) entre méthodes déclarées d'une même
classe
#les contraintes: les méthodes doivent avoir le même nom
#
# select ?m1 ?m2
# where{
# ?classe classe:a_methodes ?bagMethSub.
# ?bagMethSub ?c1 ?m1.
# ?m1 methode:identifiant ?m1Id.
#
# ?classe classe:a_methodes ?bagMethSup.
# ?bagMethSup ?c2 ?m2.
# ?m2 methode:identifiant ?m2Id.
# FILTER(?m1Id=?m2Id && ?m1!=?m2)
#}
#################################################################
Téléchargement