MỘT SỐ CÂU TRUY VẤN SPARQL TRA CỨU THÔNG TIN

Một phần của tài liệu 28063_1712202001934183LVPhamHuuThang (Trang 87 - 90)

8. Bố cục của luận văn

3.3.MỘT SỐ CÂU TRUY VẤN SPARQL TRA CỨU THÔNG TIN

Sau đây là một số truy vấn SPARQL liên quan đến việc tra cứu, tìm kiếm thông tin - chức năng quan trọng của hệ thống.

Query 1 được dùng để tìm kiếm lĩnh vực nghiên cứu liên quan đến một lĩnh vực cho trước. Đầu vào là tên của lĩnh vực A. Đầu ra là các lĩnh vực liên quan đến A. Query 1 được dùng trong quá trình thực hiện việc tìm kiếm nhà khoa học hoặc các công trình nghiên cứu thuộc lĩnh vực A.

SELECT ?linhvuc WHERE

{ {

?linhvuc rdf:type ll:linhvuc ; ll: ten ?ten .

} UNION {

?linhvuc rdf:type ll:linhvuc ; ll: linhvuclienquan ?linhvuc. ?linhvuc ll:ten ?ten .

} UNION {

?linhvuc rdf:type ll:linhvuc ; ll:linhvuccon{0,3} ?linhvuc. ?linhvuc ll:ten ?ten;

FILTER(regex(?ten, "từ khóa", "i") }

GROUP BY ?linhvuc

Query 2 là truy vấn tìm kiếm cơ bản, được dùng để tìm kiếm nhà khoa học có tên giống từ khóa.

SELECT ?nguoi {

?class rdfs:subClassOf* ll:nguoi . ?object rdf:type ?class ;

ll:tendaydu ?tendaydu .

FILTER(regex(?tendaydu, "từ khóa", "i")) }

Query 3 là truy vấn tìm kiếm cơ bản, được dùng để tìm kiếm các công trình có tiêu đề, hoặc tên lĩnh vực, hoặc tên lĩnh vực liên quan, hoặc mô tả giống từ khóa.

SELECT * WHERE

{

?class rdfs:subClassOf* ll:congtrinh . ?congtrinh rdf:type ?class ;

ll:tieude ?tieude ; ll:tacgia ?tacgia .

OPTIONAL { ?congtrinh ll:mota ?mota . } {

FILTER (

regex(?tieude, "từ khóa", "i") || regex(?tacgia, "từ khóa", "i") || regex(?mota, "từ khóa", "i") }

} UNION {

?congtrinh ll:linhvucnghiencuu ?linhvuc .

{ /* câu lệnh tìm lĩnh vực nghiên cứu liên quan */ } }

}

Query 4 được dùng để tìm kiếm phản biện. Đầu vào là từ khoá lĩnh vực, tên chủ nhiệm đề tài. Đầu ra là tên và trọng số ưu tiên thể hiện số lượng công trình nghiên cứu liên quan đến lĩnh vực của những người có thể có thể tham gia phản biện đề tài.

SELECT ?nguoi ?ten (count(?congtrinh) as ?total) WHERE

{

?class rdfs:subClassOf* ll:congtrinh . ?congtrinh rdf:type ?class;

ll:linhvucnghiencuu ?linhvuc; ll:thanhvien ?tv.

?tv ll:nguoi ?ng .

?nguoi ll:tendaydu ?ten .

{ /* câu lệnh tìm lĩnh vực nghiên cứu liên quan */ }

FILTER(!regex(?ten, "tên đầy đủ của tác giả", "i")) }

GROUP BY ?nguoi ?ten

ORDER BY DESC(?total)

Ví dụ: Thực hiện việc tìm kiếm các công trình khoa học có tiêu đề liên quan đến "ontology" được lưu hành vào năm "2012".

Query 5

prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix owl: <http://www.w3.org/2002/07/owl#>

prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix

ll:htttp://semanticweb.org/administrator/ontologies/2017/5/quanlykhoahoc#>

SELECT ?congtrinh ?tieude ?nam ?tacgia ?mota

WHERE {

?congtrinhClass rdfs:subClassOf* ll:congtrinh . ?congtrinh rdf:type ?congtrinhClass ; ll:tieude ?tieude ; ll:linhvucnghiencuu ?linhvuc ; ll:year ?year ; ll:tacgia ?tacgia .

OPTIONAL { ?congtrinh ll:mota ?mota . } ?nguoi rdf:type ?class .

?nguoi ll:tendaydu ?tendaydu . FILTER(?year = 2012)

FILTER(regex(?tieude, "ontology", "i")) }

GROUP BY ?congtrinh ?tieude ?year ?tacgia ?mota

Một phần của tài liệu 28063_1712202001934183LVPhamHuuThang (Trang 87 - 90)