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.
SELECT (COUNT (DISTINCT ?class) AS ?nb)
WHERE {
?class rdf:type owl:Class.
}
SELECT DISTINCT ?class
WHERE {
?class rdf:type owl:Class.
}
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)).
}
SELECT DISTINCT ?class
WHERE {
?class a owl:Class.
?class rdfs:subClassOf ?p.
OPTIONAL { ?d rdfs:subClassOf ?class }
FILTER (?class != owl:Thing).
FILTER (!bound(?d)).
}
SELECT (COUNT(DISTINCT ?root) AS ?nb) {
?root a owl:Class.
FILTER NOT EXISTS {
?root rdfs:subClassOf ?superroot
FILTER ( ?root != ?superroot )
}
}
SELECT DISTINCT ?root {
?root a owl:Class.
FILTER NOT EXISTS {
?root rdfs:subClassOf ?superroot
FILTER ( ?root != ?superroot )
}
}
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)
}
SELECT ?class (COUNT (DISTINCT ?x) AS ?nb)
WHERE {
?class a owl:Class.
?class rdfs:subClassOf ?x.
}
GROUP BY ?class
HAVING (?nb >1)
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)
}
SELECT ?class (COUNT (DISTINCT ?x) AS ?nb)
WHERE {
?class a owl:Class.
?x a owl:Class.
?x rdfs:subClassOf ?class.
}
GROUP BY ?class
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
}
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
}
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
}
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)
}
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)
}
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)
}
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)