2016-06-05 3 views
0

Welche SPARQL-Abfrage kann die Anzahl der identischen Tripel?SPARQL - Anzahl der ähnlichen Tripel

SELECT ?s ?p ?o . 

s p o 
----- 
a b c 
x y z 
a b c 
r s t 
x y z 
a b c 

gewünschte Ausgabe:

s p o num 
---------- 
a b c 3 
x y z 2 
r s t 1 

für etwas Hoffte wie

SELECT ?s ?p ?o (COUNT(*) AS ?num) 
GROUP BY ?s ?p ?o 

kann es aber nicht an die Arbeit ...

+1

Das RDF-Stores erlauben nicht wirklich duplizierten Tripel –

+1

Die erste Abfrage sollte nie wieder zurückkehren doppelte verdreifacht. Welchen Triple Store benutzen Sie? Haben Sie mehrere Grafiken, die das gleiche Tripel enthalten? Ich kann mir nicht vorstellen, dass diese Ausgabe wirklich zurückgegeben wird. – AKSW

+0

Und für die zweite Abfrage fehlt das ganze Abfrage-Muster, d. H. Das ist kein Dreifach-Muster oder etwas Ähnliches, also was sollte dann übereinstimmen und was kann gezählt werden, wenn nichts ausgewählt ist? – AKSW

Antwort

1

Einige der Bemerkungen, warum Sie Es werden keine doppelten Tripel in einem einzigen Diagramm angezeigt, aber wenn Sie könnten, würden Sie eine ähnliche Abfrage wie die von Ihnen vorgeschlagene verwenden:

select ?s ?p ?o (count (*) as ?n) { 
    ?s ?p ?o 
} 
group by ?s ?p ?o 

Ein einzelner Graph ist ein Satz (d. H. Keine Duplikate) von Tripeln, also enthält er niemals "doppelte Tripel". In einem Datensatz mit mehreren Grafiken, wie dies ein Muster würde im Wesentlichen zählen, wie viele grafische Darstellungen enthalten die dreifache:

graph ?g { ?s ?p ?o }