Tôi sử dụng Jena và TDB để lưu trữ RDF, và tôi muốn làm một số suy luận về nó.Nhưng dữ liệu RDF là lớn, và lý do cú của Jena phải tải tất cả dữ liệu vào bộ nhớ. Vì vậy, tôi muốn tìm một lý do có thể lý do mà không cần tải tất cả dữ liệu vào bộ nhớ, có bất kỳ cái nào không?Có bất kỳ lý do cú miễn phí nào có thể lý do mà không tải tất cả dữ liệu vào bộ nhớ không?
Trả lời
Nếu bạn chuẩn bị nhận một tập hợp con của OWL, có những việc bạn có thể làm trong thời gian xử lý luồng mà không tải tất cả dữ liệu RDF của bạn vào bộ nhớ và sẽ thực hiện tất cả các bộ ba phỏng đoán.
Ví dụ, có một cái nhìn tại lệnh suy luận Riot:
Source code ở đây:
- https://svn.apache.org/repos/asf/incubator/jena/Jena2/ARQ/tags/jena-arq-2.9.0-incubating/src/main/java/riotcmd/infer.java
- https://svn.apache.org/repos/asf/incubator/jena/Jena2/ARQ/tags/jena-arq-2.9.0-incubating/src/main/java/org/openjena/riot/pipeline/inf/InferenceProcessorRDFS.java
- https://svn.apache.org/repos/asf/incubator/jena/Jena2/ARQ/tags/jena-arq-2.9.0-incubating/src/main/java/org/openjena/riot/pipeline/inf/InferenceSetupRDFS.java
Đó là tầm thường để có suy luận Riot và chạy nó song song với một cái gì đó giống như MapReduce, ví dụ là ở đây:
Một cách tiếp cận khác nhau trong đó sử dụng MapReduce để áp dụng các Các quy tắc RDFS và OWL ter Horst và thực hiện tất cả các câu lệnh có nguồn gốc ở đây:
Có lẽ, bạn có thể xem các phần của OWL mà bạn quan tâm và kiểm tra xem bạn có thể làm điều đó trong thời trang trực tuyến hay không. Nếu có, bạn có thể suy luận của RIOT và mở rộng nó, thêm các phần của OWL mà bạn quan tâm. Đó sẽ là một đóng góp tốt đẹp cho Apache Jena (liên lạc lại với danh sách gửi thư jena-dev nếu bạn muốn làm điều đó) .
WebPIE là một dự án thông minh và thú vị, nhưng bạn có thể thấy, phức tạp hơn một chút và đó là một dự án nghiên cứu (với tất cả điều này ngụ ý từ quan điểm hỗ trợ và bảo trì lâu dài). Tuy nhiên, nếu nó là OWL ter Horst bạn muốn/cần, WebPIE sẽ làm. Bạn thậm chí có thể đặt nỗ lực, chia sẻ WebPIE và đóng góp nó vào một dự án nguồn mở, nếu những người khác quan tâm đến việc sử dụng nó.
Bạn có thể quan tâm để nhìn cũng tại Ymris (nhưng điều này hiện đang ngủ ... zzzzz):
Cảm ơn câu trả lời của bạn! –
Không thực sự. DL lý luận là khó tính toán ở quy mô thậm chí thấp. Với lô hàng dữ liệu, điều đó sẽ không hoạt động với các phương pháp hiện có. Làm nó trên lưu trữ thứ cấp vẫn là một vấn đề nghiên cứu mở afaik.
Tuy nhiên, các cấu hình khác nhau của OWL tồn tại để giải quyết vấn đề này. Tất cả chúng đều có tính phức tạp tính toán khác nhau, tất cả đều dễ dàng hơn so với DL khiến cho chúng dễ hiểu hơn về lý luận ở quy mô lớn. Đặc biệt, QL được thiết kế cho lý do thời gian truy vấn mà trong kinh nghiệm của tôi có xu hướng có một bộ nhớ rất nhỏ và RL có thể được thực hiện với một lý do quy tắc tiêu chuẩn.
Vì vậy, nếu bạn không cần sử dụng DL, thì tôi sẽ đi với một công cụ hỗ trợ một trong các cấu hình và bạn sẽ nhận được số dặm khá tốt trong số đó.
Để tham khảo, bạn có thể tìm thấy điều này document về sự phức tạp phức tạp của các phương ngữ OWL khác nhau thú vị.
Trên thực tế, dữ liệu RDF là skos, tôi không biết liệu nó có thể được lý luận bởi QL –
- 1. Có bất kỳ lý do nào để tải trước nội dung có thể rút từ tài nguyên không?
- 2. Thẻ biểu mẫu HTML không có thuộc tính - bất kỳ lý do nào không?
- 3. AVCaptureSession nhận cảnh báo và sự cố bộ nhớ mà không có lý do
- 4. Có bất kỳ lý do nào khiến cơ sở dữ liệu h2 không được sử dụng trong sản xuất không?
- 5. Có bất kỳ lý do thông thường nào để sử dụng open() thay vì fopen() không?
- 6. là có bất kỳ lý do tại sao Async.Sleep không thể hủy bỏ ngay lập tức?
- 7. Bất kỳ lý do nào cho mệnh đề GROUP BY không có chức năng tổng hợp?
- 8. Bất kỳ lý do nào không sử dụng USE_ETAGS với CommonMiddleware ở Django?
- 9. Có Treebank miễn phí không?
- 10. Quản lý bộ nhớ không có nhánh?
- 11. Lý do sử dụng cơ sở dữ liệu SQLite có thể đọc được
- 12. Có cơ sở dữ liệu chống spam miễn phí không?
- 13. Phân bổ bộ nhớ không được quản lý miễn phí từ mã được quản lý
- 14. clojure yêu cầu lý do cú pháp
- 15. Có bất kỳ lý do nào để sử dụng luồng hay không.Lock over multiprocessing.Lock?
- 16. Bất kỳ lý do gì để vẫn sử dụng CVS?
- 17. Bất kỳ lý do nào để ủng hộ cú pháp MathML trên TeX trong MathJax?
- 18. Có lý do nào khiến MicrosoftAjax.js không được rút gọn?
- 19. Bất kỳ lý do nào không sử dụng SQLObject trên SQLAlchemy?
- 20. Làm thế nào để xử lý realloc khi nó không thành công do bộ nhớ?
- 21. Có bất kỳ triển khai LOGO nguồn mở/miễn phí nào hỗ trợ dynaturtles không?
- 22. Lý do cho các tệp dữ liệu nguyên khối
- 23. Bạn có biết bất kỳ hình ảnh vệ tinh miễn phí nào cho GIS không?
- 24. Bộ nhớ mã c không được quản lý miễn phí trong C#
- 25. Có lý do nào cho cột Khóa chính không bao giờ được sử dụng không?
- 26. Có bất kỳ tài liệu thực thi R-Tree miễn phí nào cho .NET không?
- 27. Do các trường dữ liệu SQLite rỗng có chiếm thêm bộ nhớ không?
- 28. Chương trình Java của tôi đọc một tệp văn bản lớn đang hết bộ nhớ, bất kỳ ai cũng có thể giúp giải thích lý do không?
- 29. Có bất kỳ lý do nào khiến tôi không nên sử dụng ObjectId trong địa chỉ REST2 của tôi là
- 30. Lý do không sử dụng IFrame?
lớn như thế nào là dữ liệu của bạn? Chỉ tò mò ... – castagna
Khoảng 0,1 tỷ bộ ba –