2009-11-19 13 views
13

Có thư viện hoặc "kỹ thuật" nhất định mà bạn có thể sử dụng để tạo bản thể luận của các yếu tố không?Làm thế nào để tạo một bản thể luận trong python?

Hoặc "mẫu thiết kế"?

Tôi đang nói về chỉ là "đồ thị" của sự vật. Giả sử tôi có một loạt các từ. Một số từ nhất định là "dưới" các từ khác hoặc "liên quan" với các từ khác. Tôi cần một cách tốt để nhóm họ và biết mối quan hệ của họ.

+0

Vui lòng cụ thể hơn. Một bảng băm có thể phù hợp với nhu cầu của bạn. –

+3

Bạn đang nói về bộ ba RDF, thường được sử dụng để mã hóa thông tin bản thể học? Bạn đang nói về cái gì vậy? –

Trả lời

6
+0

ow ... đây là ** tuyệt vời ** ... một protege scriptable :))) –

+4

Ý tưởng là tuyệt vời. Thật không may, dự án này đã chết từ năm 2009, và nó dựa vào Pellet và JPype nổi tiếng là không ổn định. Tôi không thể lấy mẫu seth cơ bản đang chạy bằng các bản phát hành Pellet và JPype hiện tại. – Cerin

2

bản thể luận là từ điển xác định URI và đồng ý về ý nghĩa của từng URI. Một bản thể luận tầm thường chỉ là một loạt các URI bạn chọn nhiều hay ít ra khỏi màu xanh. Phương pháp này không may không cung cấp cho bạn bất kỳ thông tin nào về mối quan hệ ngữ nghĩa của các thực thể bản thể của bạn. Để giải thích các mối quan hệ này, bạn thường mô tả chúng bằng một tệp OWL và bạn thường sử dụng các công cụ cho việc này. Tôi sử dụng Protege. nó khá ổn.

7

Bạn có thể sử dụng rdflib (http://www.rdflib.net/) để lưu trữ gấp ba. Sau đó, bạn phải đưa ra quyết định của riêng mình về loại bản thể học mà bạn muốn xây dựng. Nhìn vào định dạng OWL cho điều đó.

Tôi đã chơi đùa với python và ontology trong quá trình tiến sĩ, vì vậy có lẽ việc quét nhanh qua luận án của tôi có thể cung cấp cho bạn một số ý tưởng. Ví dụ: short OWL summary hoặc UML model of a plone ontology tool.

+0

Tôi đang tìm ai đó giúp tôi với định nghĩa về bản thể học nhỏ. bạn sẽ có thời gian cho một dự án mã nguồn mở? –

+0

Xin lỗi, tôi đã đầy với một số dự án khác (và hai đứa trẻ :-)) –

1

Nếu nó có ý nghĩa đại diện cho một cái gì đó như là một đồ thị đạo diễn, tại sao không chỉ sử dụng một lớp đồ thị? Đồ thị Python cung cấp các biểu diễn đồ thị tinh khiết-python đơn giản. NetworkX có một chút khó khăn hơn để sử dụng C thực hiện.

3

RDFLIB là một triển khai hoàn thiện của một cửa hàng ba, với rất nhiều documentation.

Tuy nhiên, thư viện này chỉ hoạt động cho các dự án nhỏ hơn. Ví dụ có một danh mục RDF/XML tốt đẹp của Gutenberg Project Library, mà tôi đã không thể hack xung quanh (trên máy 2GB lõi kép của tôi), bởi vì nó chỉ đơn giản là quá lớn (~ 100M) - ngay cả Java/Protege đã có một xu hướng để ngăn chặn việc này. Thật đáng tiếc.

Alternative: http://seth-scripting.sourceforge.net/

3

Giả sử tôi có một loạt các từ. Một số từ nhất định là "dưới" các từ khác hoặc "có liên quan" với các từ khác. Tôi cần cách tốt để nhóm họ và biết mối quan hệ của họ.

Hãy xem wordnet, có sẵn trong định dạng RDF, tức là theo bản thể luận lược đồ RDF. Đây chính xác là những gì bạn mô tả.

http://www.w3.org/2006/03/wn/wn20/


(WordNet C. Fellbaum:.. Một điện từ vựng Cơ sở dữ liệu MIT Press, 1998. Xem thêm http://wordnet.princeton.edu/)

(van Assem, Gangemi và Schreiber (eds) RDF../OWL Đại diện của WordNet, Dự thảo công việc W3C Ngày 19 tháng 6 năm 2006 Bản thảo công tác W3C 19 tháng 6 năm 2006; http://www.w3.org/TR/2006/WD-wordnet-rdf-20060619/)