使用定义的OWL本体创建RDF

Har*_*dla 2 rdf owl jena protege

我正在为数据库表生成RDF.我使用Protégé为表格生成了OWL本体.我想使用这个OWL本体,并使用Jena为RDF/XML格式创建表数据的RDF.我知道如何读取和写入RDF和OWL文件到内存中以生成模型,我知道如何使用Resource,Property,ModelFactory等类来生成RDF.我无法做的是使用我生成的本体(OWL文件)并为那些OWL类创建RDF实例.例如:

样本OWL:

<owl:Class rdf:about="Person"/>
<owl:Class rdf:about="Animal"/>

<owl:DatatypeProperty rdf:about="salary">
    <rdfs:domain rdf:resource="Person"/>
    <rdfs:range rdf:resource="&xsd;real"/>
</owl:DatatypeProperty>
Run Code Online (Sandbox Code Playgroud)

期望的RDF:

<Person rdf:about="Jack">
  <salary>1234</salary> 
</Person>
Run Code Online (Sandbox Code Playgroud)

我能够像这样生成RDF:

<rdf:Description rdf:about="Jack">
  <ns:salary>2004</ns:salary>
</rdf:Description>
Run Code Online (Sandbox Code Playgroud)

Mic*_*las 6

你想要的是一个所谓的RDB2RDF映射器.尝试D2RQ,一个基于Java的RDB2RDF映射器,例如.

免责声明:我是W3C RDB2RDF工作组的联合主席,我的团队为D2RQ的开发做出了巨大贡献 - 还有许多其他语言版本的实现.