Tôi đang làm việc với tập dữ liệu Jena đơn giản, chỉ có một tệp RDF ~ 30 MB duy nhất được nhập. Là một phần của ứng dụng, tôi đang cố gắng cho phép người dùng truy vấn biểu đồ mặc định (hoặc biểu đồ có tên) và chèn các bộ ba kết quả từ truy vấn vào biểu đồ có tên mới. Đối với điều này, tôi đang sử dụng câu lệnh CONSTRUCT để tạo thành tập kết quả của bộ ba trong biểu mẫu RDF, sau đó đặt các bộ ba này vào một mô hình mới (sử dụng QueryExecution.execConstruct()) và thêm mô hình này vào tập dữ liệu. Điều này xuất hiện để hoạt động trở lại, vì tập dữ liệu nhận được một nút đồ thị mới và kích thước đĩa của thư mục cơ sở dữ liệu TDB tăng kích thước.Làm thế nào để giảm kích thước của Bộ dữ liệu Jena được hỗ trợ bởi TDB?
Sự cố ở đây xuất hiện khi tôi cố xóa biểu đồ có tên khỏi tập dữ liệu. Sử dụng phương thức removeNamedName ("graphName") của Dataset, tôi xóa mô hình khỏi tập dữ liệu. Các truy vấn trong tương lai trên tên mô hình đó cho thấy rằng nó đã được loại bỏ thành công. Tuy nhiên, kích thước đĩa của thư mục cơ sở dữ liệu TDB vẫn giữ nguyên kích thước, ngay cả sau khi đồng bộ và bỏ. Lúc đầu, tôi nghĩ rằng có lẽ cơ sở dữ liệu chỉ đánh dấu không gian của các tệp đã xóa là miễn phí sao cho nó có thể bị ghi đè khi dữ liệu mới xuất hiện, nhưng điều này dường như không đúng. Nếu tôi xóa một biểu đồ có tên và thay thế nó ngay lập tức sau khi chạy chương trình tương tự, thư mục dường như không phát triển, nhưng nếu tôi thêm một biểu đồ mới có tên và xóa nó trong cùng một lần chạy, kích thước thư mục sẽ lớn hơn và mô hình loại bỏ không giải phóng bộ nhớ, có nghĩa là sau khi một vài chạy thư mục cơ sở dữ liệu là năm hoặc mười lần kích thước ban đầu của nó mà không giữ bất kỳ dữ liệu nhiều hơn nữa.
Bất kỳ thông tin chi tiết hoặc trợ giúp nào sẽ tuyệt vời, cảm ơn bạn một lần nữa.
Cảm ơn một nhóm!Tôi chắc chắn sẽ kiểm tra danh sách gửi thư, đó là một sự xấu hổ mà loại bỏ không nhất thiết phải giảm kích thước bảng, nhưng nó là dễ hiểu. Cảm ơn một lần nữa. – paul