0

我正在使用 D2RQ 语言来创建映射文件。我有一个具有此定义的 Persona 类:

# Table persone
map:Persona a d2rq:ClassMap;
    d2rq:dataStorage map:database;
    d2rq:uriPattern "persona/@@persona.cognome_persona@@";
    d2rq:class prova_rules_M:Persona;
    .

我想为这个类创建一个名为“anni_persona”的 data_property。我能怎么做?谁能帮我语法?

谢谢!

4

1 回答 1

0

属性不“属于”RDF 或 OWL 中的类。相反,属性可能具有域和范围,它们指定具有该属性的三元组的主题或对象属于某个类或数据类型。例如,如果我们说 hasName 的域是 Agent,那么每当我们看到“x hasName {something}”时,我们就可以推断出“x rdf:type Agent”。听起来您想说有一个属性 anni_persona,并且它的域是 Persona。这只是在某处声明anni_persona rdfs:domain Persona的问题。

现在,要将数据库表中的值转换为 RDF 数据,我认为您只需查看文档中的第 6 节:

6. 将属性添加到资源 (d2rq:PropertyBridge)

Ad2rq:PropertyBridge将数据库列与 RDF 属性相关联。属性桥用于将属性附加到由类映射创建的 RDF 资源。这些属性的值通常是文字,但也可以是 URI 或将资源与其他资源相关联的空白节点,例如,论文:author属性的值可以是代表人的 URI。

如果属性桥中使用的列之一NULL用于某些数据库行,则不会为与这些行对应的资源创建任何属性。

根据该文档中的示例,您最终会得到以下内容:

map:AnniPersona a d2rq:PropertyBridge ;
    d2rq:belongsToClassMap map:Persona ;
    d2rq:property :anni_persona ;
    d2rq:column "Persone.Anni" .
于 2014-07-10T17:51:26.690 回答