Với mô hình này rất đơn giản:Làm thế nào để làm một COUNT SPARQL
@prefix : <http://example.org/tags#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:tag rdf:type rdf:Property .
:item1
rdf:type owl:Thing ;
:tag "a"^^xsd:string .
:item2
rdf:type owl:Thing ;
:tag "a"^^xsd:string , "b"^^xsd:string .
:item3
rdf:type owl:Thing ;
:tag "a"^^xsd:string , "b"^^xsd:string , "c"^^xsd:string .
tôi đang cố gắng để có được một danh sách các mục và số lượng của các thẻ đó từng có:
item tagCount
===== ========
item1 1
item2 2
item3 3
đây là truy vấn của tôi:
SELECT ?item (count(?tag) as ?tagcount)
WHERE {
?item :tag ?tag
}
Tuy nhiên nó đang trở lại:
item tagCount
===== ========
6
Từ những gì tôi đã đọc, thao tác này sẽ hoạt động. Tôi đang sử dụng Jena 2.6.4
'COUNT' không phải là một phần của đặc tả SPARQL 1.0, nó được thêm vào 1.1. Một số triển khai hỗ trợ nó mặc dù vậy. Chỉ cần nói. –
Được bình chọn cho câu hỏi được thể hiện rõ ràng và định dạng phù hợp! – cygri