我编写了一个简单的模块来存储和操作本体,该本体使用Perl在平面文件中提供.为此,我使用
Graph module这是非常好的.
我必须处理的一个问题是如何在本体中存储顶点的文本定义.每个术语都有一个我要存储和检索的小文本描述.目前,由于Graph不直接支持,我使用内部哈希.
我想知道,有一种更优雅的方法是使用单一数据结构来存储本体图和与节点相关的定义/数据吗?
解决方法
Graph
模块允许您将
attributes附加到顶点和边缘.当你说你正在使用内部哈希时,这就是你的意思吗?如果没有,也许这会有所帮助:
use Graph; my $g = Graph->new; my ($v1,$v2) = qw(A B); $g->add_edge($v1,$v2); $g->set_vertex_attribute($_,'desc',"Vertex $_") for $v1,$v2; print $g->get_vertex_attribute($_,'desc'),"\n" for $v1,$v2;