Sử dụng Wine ontology, tôi muốn tạo SPARQL truy vấn để tôi có thể lấy tất cả các loại rượu vang và tài sản của họ như bảng dưới đây - cho rằng tôi không biết tên của thuộc tính a priori.SPARQL truy vấn để lấy tất cả các đối tượng và thuộc tính
vin | rdf:type | vin:hasMaker | vin:hasSugar | ...
========================================================================== ...
GaryFarrellMerlot | vin:Merlot | vin:Elyse | vin:Dry | ...
--------------------------------------------------------------------------
ElyseZinfandel | vin:Elyse | vin:GaryFarrell | vin:Dry | ...
...
Ai đó có thể gợi ý cho tôi không?
- EDIT
Nó không phải là có thể có kết quả truy vấn trong các định dạng tôi đã đề cập, nhưng tôi có thể có nó theo cách này:
vin | property | value
=================================================
GaryFarrellMerlot | rdf:type | vin:Merlot
-------------------------------------------------
GaryFarrellMerlot | rdf:hasMaker | vin:Elyse
-------------------------------------------------
...
Với điều này chọn (nhờ cygri) :
SELECT DISTINCT ?wine ?property ?value
WHERE {
?o1 a ?class .
?wine a ?o1 .
?wine ?property ?value .
}
Điều này sẽ lấy rượu thay vì loại rượu vang (Merlot -> GaryFarrellMerlot). Vấn đề duy nhất là nó có rượu nhưng cũng là rượu, khu vực, hương vị, vv và tôi chỉ muốn rượu vang và các đặc tính của nó. Ngoài ra, có không thuộc tính như vậy vin: Merlot rdfs: subClassOf vin: Wine. Bất kỳ gợi ý nào?
Cảm ơn cygri! bạn có gợi ý gì cho chỉnh sửa của tôi ở trên không? – ksiomelo
Vâng, bản thể học rượu không phải là một mô hình RDF đơn giản mà là một bản thể luận OWL phức tạp. Vì vậy, để làm những điều phức tạp hơn, như suy ra rằng Merlot là một phân lớp của rượu, bạn cần một người lập luận OWL (hoặc có thể là một cửa hàng ba hỗ trợ OWL). – cygri