Cách đơn giản nhất để tải dbpedia vào Neo4j là sử dụng thư viện dbpedia4neo. Đây là một thư viện Java, nhưng bạn không cần biết bất kỳ Java nào vì tất cả những gì bạn cần làm là chạy tệp thực thi.
Bạn có thể viết lại điều này trong JRuby nếu muốn, nhưng Ruby thông thường sẽ không hoạt động vì nó dựa trên Blueprints, một thư viện Java không tương đương với Ruby.
Dưới đây là hai tệp chính cung cấp quy trình tải.
- https://github.com/oleiade/dbpedia4neo/blob/master/src/main/java/org/acaro/dbpedia4neo/inserter/DBpediaLoader.java
- https://github.com/oleiade/dbpedia4neo/blob/master/src/main/java/org/acaro/dbpedia4neo/inserter/TripleHandler.java
Đây là một description of what's involved.
Bản thiết kế Blueprint đang dịch dữ liệu RDF thành biểu diễn biểu đồ. Để hiểu những gì đang xảy ra dưới mui xe, hãy xem Blueprints Sail Ouplementation:
Sau khi bạn tải xuống tệp kết xuất dbpedia, bạn có thể xây dựng thư viện Java dbpedia4neo và chạy mà không sửa đổi mã Java.
Thứ nhất, nhân bản ngã ba của oleiade của kho GitHub và thay đổi vào thư mục dbpedia4neo
:
$ git clone https://github.com/oleiade/dbpedia4neo.git
$ cd dbpedia4neo
(ngã ba Oleiade bao gồm một bản cập nhật Blueprints nhỏ mà không sail.initialize();
Xem https://groups.google.com/d/msg/gremlin-users/lfpNcOwZ49Y/WI91ae-UzKQJ).
Trước khi tạo, bạn cần cập nhật pom.xml
để sử dụng nhiều phiên bản Blueprint hiện tại và kho lưu trữ Blueprints hiện tại (Sonatype).
Để làm điều này, mở pom.xml
và ở phía trên cùng của phần dependencies
, thay đổi tất cả các phiên bản TinkerPop Blueprints 0.6
-0.9
.
Trong khi bạn đang ở trong tập tin, thêm kho Sonatype đến phần repositories
vào cuối file:
<repository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/releases</url>
</repository>
Lưu tập tin và sau đó xây dựng nó bằng cách sử maven:
$ mvn clean install
Điều này sẽ tải xuống và cài đặt tất cả các phụ thuộc cho bạn và tạo một tệp jar trong thư mục target
.
Để tải dbpedia, maven sử dụng để chạy các thực thi:
$ mvn exec:java \
-Dexec.mainClass=org.acaro.dbpedia4neo.inserter.DBpediaLoader \
-Dexec.args="/path/to/dbpedia-dump.nt"
Các bãi dbpedia là lớn vì vậy đây sẽ mất một thời gian để tải.
Bây giờ các dữ liệu được nạp, bạn có thể truy cập vào đồ thị bằng một trong hai cách sau:
- Sử dụng JRuby và API Blueprints-Neo4j trực tiếp.
- Sử dụng Ruby thường xuyên và máy chủ REST Rexster REST, tương tự như Máy chủ Neo4j ngoại trừ việc nó hỗ trợ nhiều cơ sở dữ liệu biểu đồ.
Để biết ví dụ về cách tạo ứng dụng khách Rexster, hãy xem Bóng đèn, khung Python tôi đã viết hỗ trợ cả Neo4j Server và Rexster.
Một cách tiếp cận để tất cả điều này sẽ được xử lý dbpedia RDF đổ tập tin trong Ruby, viết ra các nút và các mối quan hệ vào một tập tin CSV, và sử dụng Neo4j batch importer để tải. Nhưng điều này sẽ yêu cầu bạn dịch thủ công dữ liệu RDF vào các mối quan hệ Neo4j.
Một liên kết khác cho tài liệu neo4j.rb mới: https://github.com/andreasronge/neo4j/wiki –