【问题标题】:How to create Triples from MySql如何从 MySql 创建三元组
【发布时间】:2015-07-09 07:53:59
【问题描述】:

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

而且我的数据看起来像这样。

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

【问题讨论】:

    标签: mysql marklogic triples


    【解决方案1】:

    您在此处显示的是三元组,MarkLogic 将它们存储在数据库中。确保从 Admin ui 启用 triple index 以使该数据库能够在其上使用 SPARQL。

    启用后,您可以从 QConsole 运行 count(cts:triples()) 之类的命令,以查看已加载了多少三元组,并从那里运行 SPARQL。

    您也可以连接到/v1/graphs/sparqlREST 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!

    【讨论】:

    • 我在管理控制台中启用了三元组索引,并且可以在 REST API 上的 /v1/graphs/things 上看到所有填充的三元组的链接,但我的问题是我无法拥有如您之前所说,这种形式的三元组,例如主键作为主题,列作为谓词,单元格作为对象,我想这就是为什么它用 而不是 填充标签的原因。我正在使用 d2rq 映射实用程序创建要使用 mlcp 上传的 ttl 文件。请建议我该怎么做!感谢您的帮助 :) 问候 Swapneel
    • 我认为这取决于您如何配置 d2rq。不幸的是,我对您的原始数据模型知之甚少,无法评估三元组的质量,但乍一看我觉得它是合理的..
    • 好的,我明天将与您分享煮熟的数据,以便您更容易理解我,非常感谢,请问您的名字。
    • 我需要和你分享数据,我该怎么做?我要邮寄给你吗?这里没有附件选项:(
    • d2rq 的输出在我看来相当不错。如果您不喜欢 file:// 前缀,则添加预处理以将其替换为其他内容。或者只是使用 sparql 前缀来缩写..
    猜你喜欢
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    相关资源
    最近更新 更多