如何从 MySql 创建三元组

How to create Triples from MySql

我已使用 d2rq 实用程序创建 .ttl 文件,然后将其导入 MarkLofgic,但无法获得所需的结果。

而且我的数据是这样的。

如何从 MySql 数据创建三元组以用于在 MarkLogic 中的 SPARQL 中查询。有人建议我应该考虑主键值作为主题,列名作为谓词和单元格值作为对象转换成三元组,但是如何? 感谢和问候 Swapneel GOLAPKAR

您在那里显示的是 MarkLogic 将它们存储在数据库中的格式的三元组。确保从管理员 ui 启用 triple index 以便该数据库能够在其上使用 SPARQL。

启用后,您可以从 QConsole 运行 命令(例如 count(cts:triples()))查看已加载了多少个三元组,还可以从那里使用 运行 SPARQL。

您还可以连接到 /v1/graphs/sparql REST endpoint

关于数据应该如何显示为三元组,给出如下两个示例记录(为方便起见表示为 XML):

<Drug_Dtl>
    <Drug_ID>D001</Drug_ID>
    <Drug_name>Glyburide 5 mg</Drug_name>
    <Brand_name>Diabeta</Brand_name>
    <Brand>Novo Nordisk</Brand>
    <strength>5 mg</strength>
    <NoOfPills>1</NoOfPills>
    <TotalDailyDose>5 mg</TotalDailyDose>
    <Cost></Cost>
    <DailyPills>1</DailyPills>
</Drug_Dtl>

<Prescriber>
    <PrescriberId>PSC001</PrescriberId>
    <PrescriberName>Wa&#x200C;&#x200B;yne</PrescriberName>
    <Prescriber_Address>7 Elgar Center</Prescriber_Address>
    <City>Chicago</City>
    <State>Illinois</State>
</Prescriber>

我希望三元组类似于(为方便起见表示为乌龟):

<D001> <Drug_name> "Glyburide 5 mg".
<D001> <Brand_name> "Diabeta".
<D001> <Brand> "Novo Nordisk".
<D001> <strength> "5 mg".
<D001> <NoOfPills> "1".
<D001> <TotalDailyDose> "5 mg".
<D001> <Cost> "".
<D001> <DailyPills> "1".

<PSC001> <PrescriberName> "Wa&#x200C;&#x200B;yne".
<PSC001> <Prescriber_Address> "7 Elgar Center".
<PSC001> <City> "Chicago".
<PSC001> <State> "Illinois".

HTH!