我不确定你所说的“一个叫做类别的新概念”,或许你可以举个例子吗?
如果您想要添加其他元数据(可能是作为在用户界面中组织信息的一种方式),则无需扩展语义Web语言或存储系统 – 它们已经可以执行您想要的操作.
假设您有一个来自UK Government schools dataset的学校数据(为简洁起见使用Turtle编码):
@prefix sch-ont: .
a sch-ont:School;
sch-ont:establishmentStatus
;
sch-ont:MSOA ;
sch-ont:establishmentName "Guildhall School of Music and Drama";
...
您可以直接从SPARQL end-point查询该数据,也可以下载数据并将其存储在您自己的三重存储中.无论哪种方式,您都可以自由地添加对用户有用的额外信息.例如:
@prefix ankurs-app: .
ankurs-app:category ankurs-app:wkdCool.
您可以将此新三元组存储在与下载数据相同的图形中,也可以将其存储在单独的命名图形中,以指示它的起源与源数据不同.无论哪种方式,从Jena以编程方式或通过SPARQL查询查询它都很简单.
进行有效查询无模式三重中心数据的布局是一个经过充分研究且难以解决的问题.包括Jena在内的大多数RDF平台都具有优化的代码,用于从自己的数据库方案中查询和更新三元组.你必须有很好的理由来开始你自己的关系表布局:)
如果您确实需要采用现有的关系表方案并将其映射到Jena RDF模型,请查看D2RQ.