我使用D2RQ语言来创建映射文件。我有一个这样定义的类角色:
# 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。我该怎么做呢?有人能帮我学语法吗?
谢谢!
发布于 2014-07-11 01:51:27
属性不“属于”RDF或OWL中的类。相反,属性可以具有域和范围,这些域和范围指定具有该属性的三元组的主体或对象属于某个类或数据类型。例如,如果我们说hasName的域是代理,那么每当我们看到"x hasName {something}“时,我们就可以推断出"x rdf:type Agent”。这听起来像是您想说有一个属性anni_persona,它的域是Persona。这只是一个断言anni_persona rdfs:domain Persona的问题。
现在,为了将数据库表中的值转换为RDF数据,我想您只需要看一下文档中的第6节:
6. Adding properties to resources (d2rq:PropertyBridge).
d2rq:PropertyBridge将数据库列与RDF属性相关联。属性桥用于将属性附加到由类映射创建的RDF资源。这些属性的值通常是文字,但也可以是URI或将资源与其他资源关联的空白节点,例如,纸张的:author属性的值可以是表示人的URI。
如果属性桥中使用的列之一对于某些数据库行是NULL,则不会为与这些行相对应的资源创建任何属性。
根据该文档中的示例,看起来您最终会得到类似以下内容:
map:AnniPersona a d2rq:PropertyBridge ;
d2rq:belongsToClassMap map:Persona ;
d2rq:property :anni_persona ;
d2rq:column "Persone.Anni" .https://stackoverflow.com/questions/24636838
复制相似问题