J'ai une collection de triplets RDF comme suit.Recherche de modèle sous-graphique en étoile dans SPARQL
id#7289587 ex:getInfectedBy id#7748320
id#7694711 ex:getInfectedBy id#7748320
id#7748322 ex:getInfectedBy id#7748320
id#7748887 ex:getInfectedBy id#7748320
id#7746679 ex:getInfectedBy id#7748510
id#6434108 ex:getInfectedBy id#7748510
id#7458397 ex:getInfectedBy id#7748510
Mon objectif est de compter le diagramme sous-graphique en étoile des différentes longueurs de nœuds (4,5,6, ..., 20). Par exemple, j'ai écrit la requête suivante pour trouver un motif de sous-graphe en étoile de longueur de nœud 4 (? S1? S2? S3? O).
SELECT ?o count(distinct ?o)
WHERE
{
?s1 ?p ?o.
?s2 ?p ?o.
?s3 ?p ?o.FILTER((?s1!=?s2) && (?s1!=?s3) && (?s2!=?s3))
} group by ?o
Le nombre de requête susmentionnée étoile longueur du motif de nœud 4 pour les deux noeuds id#7748320
et id#7748510
. Cependant il suppose de me donner le résultat pour seulement le noeud id#7748510
. Si je modifie la requête avec un motif d'étoile à 5 nœuds, le nœud id#7748320
apparaît également. Pourriez-vous s'il vous plaît m'aider à le réparer?
Est-il possible de compter un motif sous-graphique en étoile de longueur de nœud différente (4,5,6, ..., 20) avec une requête? S'il vous plaît, faites-moi savoir. J'apprécie ton aide.
utiliser simplement 'SELECT * OÙ' avec votre requête pour voir pourquoi cela est correct dans SPARQL. Il est évident que les données du noeud 'id # 7748320' correspondent également au motif de la requête SPARQL, c'est juste que vous demandez quelque chose qui satisfait" au moins "cette exigence dans la requête. – AKSW