【问题标题】:RDF file to excel-readable format将 RDF 文件转换为 excel 可读格式
【发布时间】:2015-03-09 14:31:20
【问题描述】:

我下载了 .ttl 格式的 rdf 文件 - 我是 RDF 的新手,我正在尝试查看是否可以获取某种简单的 txt/csv 格式的数据。有谁知道怎么做?

【问题讨论】:

    标签: rdf export-to-csv


    【解决方案1】:

    RDF 有一个非常简单的数据模型:它只是 subject predicate object。您可以通过将文件转换为 n-triples 来看到这一点:

     $ rdfcopy myfile.ttl # apache jena
    
     $ rapper -i turtle myfile.ttl  # rapper (part of librdf)
    

    但这是有限的。假设你从漂亮的海龟文件开始:

     @prefix ex: <http://example.com/>
    
     <Brian> ex:age 34 ;
             ex:name "Brian Smith" ;
             ex:homepage <http://my.name.org/Brian> .
    
     <Delia> ex:age 45 ;
             ex:name "Delia Jones" ;
             ex:email <mailto:delia@deliajones.com> .
    

    结果是:

    <file:///tmp/Delia> <http://example.com/email> <mailto:delia@deliajones.com> .
    <file:///tmp/Delia> <http://example.com/name> "Delia Jones" .
    <file:///tmp/Delia> <http://example.com/age> "45"^^<http://www.w3.org/2001/XMLSchema#integer> .
    <file:///tmp/Brian> <http://example.com/homepage> <http://my.name.org/Brian> .
    <file:///tmp/Brian> <http://example.com/name> "Brian Smith" .
    <file:///tmp/Brian> <http://example.com/age> "34"^^<http://www.w3.org/2001/XMLSchema#integer> .
    

    换句话说,所有内容都减少到三列。

    您可能更喜欢运行一个简单的 sparql 查询。它将为您提供更有用的表格结果:

    prefix ex: <http://example.com/>
    
    select ?person ?age ?name
    where {
        ?person ex:age ?age ;
                ex:name ?name .
    }
    

    使用 apache jena 的 arq 运行它:

    $ arq --data myfile.ttl --query query.rq 
    ---------------------------------
    | person  | age | name          |
    =================================
    | <Delia> | 45  | "Delia Jones" |
    | <Brian> | 34  | "Brian Smith" |
    ---------------------------------
    

    这可能更有用。 (您也可以通过添加--results csv 来指定CSV 输出)。

    (librdf 等价物是roqet query.rq --data myfile.ttl -r csv

    【讨论】:

    • 这很有帮助,但是我被困在使用 Apache Jena 的第一步 - 我如何从下载二进制版本的内容并在终端中使用此代码?
    • 在某处解压并将 apache-jena-VERSION/bin 添加到您的路径中(如果您在 Windows 上,我不确定)。但是所有主要语言都有等效的库,因此您可能需要为您最喜欢的语言选择一个。
    • 我收到以下信息:Users-MacBook-Pro:~ User$ arq --data /Users/User/Downloads/chembl_20.0_assay.ttl --query query.rq --results csv File not found: query.rq。我很遗憾我对 bash 和 rdf 完全陌生——有什么帮助吗?
    • 哦,抱歉,不清楚:将上面的查询('useful kind:'... 之后的位)保存为 'query.rq'。
    • 我不知道这在 stackoverflow 上有多洁净,但以下指向 FTP 的链接包含有问题的文件 (chembl_20.0_assay.ttl.gz) link - 如果您可以简要查看一下并让我知道如何最好地为这个乌龟的东西设置查询文件,那将不胜感激!
    猜你喜欢
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多