Бих искал да напиша една SPARQL заявка, за да намеря k най-близки съседи за набор от вектори. За да намеря средния етикет за 100-те най-близки съседи за един вектор, мога да използвам следната заявка:
PREFIX : <ml://>
PREFIX vector: <ml://vector/>
PREFIX feature: <ml://feature/>
SELECT (AVG(?label) as ?prediction)
WHERE {
{
SELECT ?other_vector (COUNT(?common_feature) as ?similarity)
WHERE { vector:0 :has ?common_feature .
?other_vector :has ?common_feature .
} GROUP BY ?other_vector ORDER BY DESC(?similarity) LIMIT 100
}
?other_vector :hasLabel ?label .
}
Има ли начин да направите това за множество вектори в една заявка?