Ficha id: prc2018-f1

Processamento e Representação de Conhecimento - PRC (MIEI - 4ºano)

Este ficha prática contem exercícios para serem resolvidos nas aulas teórico-práticas com vista a sedimentar os conhecimentos relativos a:

  • Especificação de ontologias com RDF.
  • Utilização do SPARQL para fazer queries a informação especificada em RDF.

Recursos:

Recursos disponíveis para a realização da ficha:

Exercícios:

  1. RDF para as publicações do JCR

Exercício Nº 1: RDF para as publicações do JCR

Considere o seguinte preâmbulo RDF:

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:ex="http://www.di.uminho.pt/jcr/XML/rdf/ex2#">
    <rdf:Description rdf:ID="Publicacao">
        <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
    </rdf:Description>
    <rdf:Description rdf:ID="Proceedings">
        <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
        <rdfs:subClassOf rdf:resource="#Publicacao"/>
    </rdf:Description>
    <rdf:Description rdf:ID="InProceedings">
        <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
        <rdfs:subClassOf rdf:resource="#Publicacao"/>
    </rdf:Description>
    <rdf:Description rdf:ID="Article">
        <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
        <rdfs:subClassOf rdf:resource="#Publicacao"/>
    </rdf:Description>
    <rdf:Description rdf:ID="Misc">
        <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
        <rdfs:subClassOf rdf:resource="#Publicacao"/>
    </rdf:Description>
    <rdf:Description rdf:ID="PhdThesis">
        <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
        <rdfs:subClassOf rdf:resource="#Publicacao"/>
    </rdf:Description>
    <rdf:Description rdf:ID="MasterThesis">
        <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
        <rdfs:subClassOf rdf:resource="#Publicacao"/>
    </rdf:Description>
    <rdf:Description rdf:ID="Pessoa">
        <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
    </rdf:Description>
    <rdf:Description rdf:ID="Autor">
        <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
        <rdfs:subClassOf rdf:resource="#Pessoa"/>
    </rdf:Description>
    <rdf:Description rdf:ID="Editor">
        <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
        <rdfs:subClassOf rdf:resource="#Pessoa"/>
    </rdf:Description>
    <!-- ..........Propriedades..........................-->
    <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#string"/>
    <rdf:Property rdf:ID="nome">
        <rdfs:domain rdf:resource="#Pessoa"/>
        <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
    </rdf:Property>
    <rdf:Property rdf:ID="temAutor">
        <rdfs:domain rdf:resource="#Publicacao"/>
        <rdfs:range rdf:resource="#Pessoa"/>
    </rdf:Property>
    <rdf:Property rdf:ID="temEditor">
        <rdfs:domain rdf:resource="#Publicacao"/>
        <rdfs:range rdf:resource="#Pessoa"/>
    </rdf:Property>
    <rdf:Property rdf:ID="data">
        <rdfs:domain rdf:resource="#Publicacao"/>
    </rdf:Property>
    <rdf:Property rdf:ID="titulo">
        <rdfs:domain rdf:resource="#Publicacao"/>
    </rdf:Property>
    <rdf:Property rdf:ID="doi">
        <rdfs:domain rdf:resource="#Publicacao"/>
    </rdf:Property>
    <!-- ....Ocorrências...............................-->
    <ex:Pessoa rdf:ID="mferreira">
        <ex:nome>Miguel Ferreira</ex:nome>
    </ex:Pessoa>
    <ex:Pessoa rdf:ID="jcr">
        <ex:nome>José Carlos Ramalho</ex:nome>
    </ex:Pessoa>
    <ex:Pessoa rdf:ID="lfaria">
        <ex:nome>Luís Faria</ex:nome>
    </ex:Pessoa>
    <ex:Inproceedings rdf:ID="archiving2013">
        <ex:titulo>Guidelines for legacy repository migration</ex:titulo>
        <ex:temAutor>
            <rdf:Bag>
                <rdf:li rdf:resource="#mferreira"/>
                <rdf:li rdf:resource="#jcr"/>
                <rdf:li rdf:resource="#lfaria"/>
            </rdf:Bag>
        </ex:temAutor>
        <ex:doi>http://hdl.handle.net/1822/23978</ex:doi>
        <ex:data>2013-04-02</ex:data>
    </ex:Inproceedings>
</rdf:RDF>

Use-o como base para obter uma versão RDF das publicações do JCR.

Crie uma stylesheet XSLT para suportar a conversão.