如何从MySql创建三元组

时间:2015-07-09 07:54:00

标签: mysql marklogic triples

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

此外,我的数据看起来像这样。Triples generated by d2rq

如何从MySql Data创建三元组以用于MarkLogic中的SPARQL中的查询。 SOmeone建议我应该将主键值视为主题,列名称为Predicates&单元格值作为对象转换为三元组,但如何? 谢谢&问候 Swapneel GOLAPKAR

1 个答案:

答案 0 :(得分:1)

您在那里展示的是三元组,其格式是MarkLogic将它们存储在数据库中。确保从Admin 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>$51</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> "$51".
<D001> <DailyPills> "1".

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

HTH!

相关问题