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)


Retour au menu