Đây có lẽ là gần như giống nhau quetion như: Filter by language only if the object is a literalLọc ngôn ngữ duy nhất nếu loại là chữ
Vấn đề là rằng câu trả lời có không hoạt động trong trường hợp của tôi.
Tôi có truy vấn này:
SELECT ?property ?value
WHERE { <http://dbpedia.org/resource/Facebook> ?property ?value
FILTER(STRSTARTS(STR(?property), "http://dbpedia.org/property") || STRSTARTS(STR(?property), "http://dbpedia.org/ontology"))}
Ở đó bạn sẽ thấy một danh sách các tài sản bao gồm "alexa xếp hạng 2" và "trừu tượng" trong nhiều ngôn ngữ.
Nếu tôi sau đó thử giải pháp gợi ý trong câu hỏi nêu trên:
SELECT ?property ?value
WHERE { <http://dbpedia.org/resource/Facebook> ?property ?value
FILTER(STRSTARTS(STR(?property), "http://dbpedia.org/property") || STRSTARTS(STR(?property), "http://dbpedia.org/ontology"))
FILTER(!isLiteral(?value) || langMatches(lang(?value), "EN"))}
Bây giờ bạn sẽ thấy rằng chỉ có phiên bản tiếng Anh của "trừu tượng" là có nhưng "alexa xếp hạng 2" và nhiều giá trị không phải chuỗi khác đã biến mất.
Bất kỳ ai biết cách nhận tất cả các thuộc tính như trong truy vấn đầu tiên và sau đó đối với các chữ cái chỉ lọc ra ngôn ngữ tiếng Anh?
Cảm ơn! Đến điểm. –
Câu trả lời hay, rõ ràng và dễ hiểu! – user2078148