将XML转换为rdf n3表示法

时间:2018-12-12 10:08:22

标签: xml rdf n3

我正在学习RDF。因此,我有一个XML数据集,必须使用XSLT将其转换为RDF N3。

我的XML描述了一组商业商店<Loja>和一组产品<Modelo>。这些产品具有实体<Loja>,这些实体具有可用的商店ID和该商店中可用的单位数量。

我的XML示例:

<root>
    <Lojas>
        <Loja>
            <ID>11</ID>
            <Nome>Media Markt Aveiro</Nome>
            <Grupo>Media Markt</Grupo>
            <Morada>
                <Detalhes>Aveiro Shopping Center</Detalhes>
                <Rua>Estrada da Taboeira</Rua>
                <CodigoPostal>3800-042</CodigoPostal>
                <Distrito>Aveiro</Distrito>
                <Pais>Portugal</Pais>
            </Morada>
            <Contacto>
                <Telefone>+351 234 001 100</Telefone>
                <Fax>+351 234 001 119</Fax>
                <Email>clientes@mediamarkt.pt</Email>
                <Website></Website>
            </Contacto>
        </Loja>
    </Lojas>

    <Produtos>
        <Computadores>
            <Modelo>
                <ID>001</ID>
                <Descricao>Vivobook Flip TP410UA-57DHDCB2</Descricao>
                <Marca>Asus</Marca>
                <Categoria>Comunicação Móvel</Categoria>
                <Ram>8 Gb</Ram>
                <Processador>i5-7200U 2.5GHz</Processador>
                <CapacidadeDisco>256 GB</CapacidadeDisco>
                <Grafica>HD Graphics 620</Grafica>
                <TamanhoEcra>14.0</TamanhoEcra>
                <Preco>799.00</Preco>
                <Loja>
                    <ID>11</ID>
                    <Unidades>4</Unidades>
                </Loja>
                <Loja>
                    <ID>13</ID>
                    <Unidades>5</Unidades>
                </Loja>
            </Modelo>
        </Computadores>
    </Produtos>
</root>

我的没有前缀的RDF N3:

@prefix loja: <http://www.shop.pt/loja/> . 
@prefix morada: <http://www.shop.pt/morada/> . 
@prefix contacto: <http://www.shop.pt/contacto/> . 
@prefix modelo: <http://www.shop.pt/modelo/> . 
@prefix modelo_em_loja: <http://www.shop.pt/modelo/loja/> . 
@prefix computador: <http://www.shop.pt/computador/> . 

loja:11
    a loja: ; 
    loja:nome "Media Markt Aveiro" ; 
    loja:grupo "Media Markt" ; 
    loja:morada morada:11 ; 
    loja:contacto contacto:11 . 
morada:11
    a morada: ; 
    morada:detalhes "Aveiro Shopping Center" ; 
    morada:rua "Estrada da Taboeira" ; 
    morada:codigopostal "3800-042" ; 
    morada:distrito "Aveiro" ; 
    morada:pais "Portugal" . 
contacto:11
    a contacto: ; 
    contacto:telefone "+351 234 001 100" ; 
    contacto:fax "+351 234 001 119" ; 
    contacto:email "clientes@mediamarkt.pt" ; 
    contacto:website "" . 

modelo:001
    a computador: ; 
    modelo:descricao "Vivobook Flip TP410UA-57DHDCB2" ; 
    modelo:marca "Asus" ; 
    modelo:categoria "Comunicação Móvel" ; 
    modelo:ram "8 Gb" ; 
    modelo:processador "i5-7200U 2.5GHz" ; 
    modelo:capacidadedisco "256 GB" ; 
    modelo:grafica "HD Graphics 620" ; 
    modelo:tamanhoecra "14.0" ; 
    modelo:preco "799.00" ; 
    modelo:loja modelo_em_loja:00111 , 
                modelo_em_loja:00113 . 
modelo_em_loja:00111
    modelo_em_loja:LojaID "11" ; 
    modelo_em_loja:unidades "4" . 
modelo_em_loja:00113
    modelo_em_loja:LojaID "13" ; 
    modelo_em_loja:unidades "5" . 

如果我做对了或者有更好的方法,我想征求意见。例如,我应该使用匿名实体来描述:

modelo:001
    modelo:loja modelo_em_loja:00111 , 
                modelo_em_loja:00113 . 
modelo_em_loja:00111
    modelo_em_loja:LojaID "11" ; 
    modelo_em_loja:unidades "4" . 
modelo_em_loja:00113
    modelo_em_loja:LojaID "13" ; 
    modelo_em_loja:unidades "5" . 

0 个答案:

没有答案