Bạn có thể sử dụng UNION
ví dụ:
PREFIX prefix: <http://example.org/ns#>
SELECT *
WHERE {
{ ?x a prefix:type1 } UNION { ?x a prefix:type2 }
}
Lưu ý việc sử dụng a
mà là một từ khóa SPARQL có thể được sử dụng ở vị trí vị và tương ứng với các loại RDF URI http://www.w3.org/1999/02/22-rdf-syntax-ns#type
Có nhiều cách khác để làm điều này như sử dụng FILTER
khoản với biểu thức khác nhau:
- loạt các
?type = prefix:type1
kết hợp với các điều kiện hoặc điều hành ||
?type IN (prefix:type1, prefix:type2)
Hoặc bạn có thể sử dụng một điều khoản VALUES
để xác định các tùy chọn cho ?type
Đây có thể là tốt hơn nếu truy vấn của bạn là phức tạp hơn và bạn không muốn lặp lại nhiều truy vấn vào cả hai bên của số UNION
hoặc có nhiều hơn hai khả năng đó để xem xét.
"loại? In" xuất hiện thú vị, nhưng nó không hoạt động, tôi chắc chắn đang mắc lỗi về cú pháp, đúng không? CHỌN * WHERE { ? X rdf: gõ? Loại ? Gõ (wo: Kingdom, wo: Phylum) } – Noor
Đây là những biểu thức có thể được sử dụng trong mệnh đề 'FILTER' để nó sẽ là' FILTER (? gõ IN (wo: Kingdon, wo: Phylum)) ' – RobV