Métriques sur les concepts
Toutes ces requêtes sont en SPARQL et sont utilisables dans Protégé.
Elles fournissent nombre d’indications sur la structure conceptuelle de l’ontologie, tels le nombre de racines, le nombre de feuilles, le nombre de concepts polyparentaux, etc.
Métrique : Nombre de concepts de l’ontologie
SELECT (COUNT (DISTINCT ?class) AS ?nb)
WHERE {
?class rdf:type owl:Class.
}
Liste des concepts de l’ontologie
SELECT DISTINCT ?class
WHERE {
?class rdf:type owl:Class.
}
Métrique : Nombre de feuilles de l’ontologie
SELECT (COUNT (DISTINCT ?class) AS ?nb)
WHERE {
?class a owl:Class.
?class rdfs:subClassOf ?p.
OPTIONAL { ?d rdfs:subClassOf ?class }
FILTER (?class != owl:Thing).
FILTER (!bound(?d)).
}
Liste des feuilles de l’ontologie
SELECT DISTINCT ?class
WHERE {
?class a owl:Class.
?class rdfs:subClassOf ?p.
OPTIONAL { ?d rdfs:subClassOf ?class }
FILTER (?class != owl:Thing).
FILTER (!bound(?d)).
}
Métrique : Nombre de racines de l’ontologie
SELECT (COUNT(DISTINCT ?root) AS ?nb) {
?root a owl:Class.
FILTER NOT EXISTS {
?root rdfs:subClassOf ?superroot
FILTER ( ?root != ?superroot )
}
}
Liste des racines de l’ontologie
SELECT DISTINCT ?root {
?root a owl:Class.
FILTER NOT EXISTS {
?root rdfs:subClassOf ?superroot
FILTER ( ?root != ?superroot )
}
}
Métrique : Nombre de concepts polyparentaux
SELECT (COUNT (DISTINCT ?class) AS ?nombre)
WHERE {
SELECT ?class (COUNT (DISTINCT ?x) AS ?nb)
WHERE {
?class a owl:Class.
?class rdfs:subClassOf ?x.
}
GROUP BY ?class
HAVING (?nb >1)
}
Liste des concepts polyparentaux
SELECT ?class (COUNT (DISTINCT ?x) AS ?nb)
WHERE {
?class a owl:Class.
?class rdfs:subClassOf ?x.
}
GROUP BY ?class
HAVING (?nb >1)
Métrique : Nombre moyen de sur-concepts pour les concepts polyparentaux
SELECT (AVG (?nb) AS ?moyenne)
WHERE {
SELECT ?class (COUNT (DISTINCT ?x) AS ?nb)
WHERE {
?class a owl:Class.
?class rdfs:subClassOf ?x.
}
GROUP BY ?class
HAVING (?nb >1)
}
Métrique : Nombre de sous-concepts par concept
SELECT ?class (COUNT (DISTINCT ?x) AS ?nb)
WHERE {
?class a owl:Class.
?x a owl:Class.
?x rdfs:subClassOf ?class.
}
GROUP BY ?class
Métrique : Nombre moyen de sous-concepts dans l’ontologie
SELECT (AVG(?nb) AS ?Moyenne)
WHERE {
SELECT ?class (COUNT (DISTINCT ?x) AS ?nb)
WHERE {
?class a owl:Class.
?x a owl:Class.
?x rdfs:subClassOf ?class.
}
GROUP BY ?class
}
Métrique : Nombre minimal de sous-concept pour un concept
SELECT (MIN(?nb) AS ?Minim)
WHERE {
SELECT ?class (COUNT (DISTINCT ?x) AS ?nb)
WHERE {
?class a owl:Class.
?x a owl:Class.
?x rdfs:subClassOf ?class.
}
GROUP BY ?class
}
Métrique : Nombre maximal de sous-concepts pour un concept
SELECT (MAX(?nb) AS ?Maxim)
WHERE {
SELECT ?class (COUNT (DISTINCT ?x) AS ?nb)
WHERE {
?class a owl:Class.
?x a owl:Class.
?x rdfs:subClassOf ?class.
}
GROUP BY ?class
}
Métrique : Nombre de concepts avec un seul sous-concept
SELECT (COUNT(?nb) AS ?nombre)
WHERE{
SELECT ?class (COUNT (DISTINCT ?x) AS ?nb)
WHERE {
?class a owl:Class.
?x a owl:Class.
?x rdfs:subClassOf ?class.
}
GROUP BY ?class
HAVING (?nb=1)
}
Liste des concepts avec un seul sous-concept
SELECT (COUNT(?nb) AS ?nombre)
WHERE{
SELECT ?class (COUNT (DISTINCT ?x) AS ?nb)
WHERE {
?class a owl:Class.
?x a owl:Class.
?x rdfs:subClassOf ?class.
}
GROUP BY ?class
HAVING (?nb>=15)
}
Métrique : Nombre de concepts avec plus de 15 sous-concepts
SELECT (COUNT(?nb) AS ?nombre)
WHERE{
SELECT ?class (COUNT (DISTINCT ?x) AS ?nb)
WHERE {
?class a owl:Class.
?x a owl:Class.
?x rdfs:subClassOf ?class.
}
GROUP BY ?class
HAVING (?nb>=15)
}
Liste des concepts avec plus de 15 sous-concepts
SELECT ?class (COUNT (DISTINCT ?x) AS ?nb)
WHERE {
?class a owl:Class.
?x a owl:Class.
?x rdfs:subClassOf ?class.
}
GROUP BY ?class
HAVING (?nb>=15)