Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Melhor maneira de criar um endpoint SPARQL para um RDBMS (banco de dados MySQL)


Não tenho certeza do que você quer dizer com "um novo conceito chamado categoria", talvez você possa dar um exemplo?

Se você quer dizer que deseja adicionar metadados adicionais, talvez como uma forma de organizar as informações na interface do usuário, não há necessidade de estender os idiomas da web semântica ou os sistemas de armazenamento - eles já podem fazer o que você deseja.

Suponha que você tenha dados de uma escola do conjunto de dados de escolas do governo do Reino Unido (usando a codificação Turtle para brevidade):
@prefix sch-ont:  <http://education.data.gov.uk/def/school/>.
<http://education.data.gov.uk/id/school/135412>
a sch-ont:School;
sch-ont:establishmentStatus 
    <http://education.data.gov.uk/def/school/EstablishmentStatus_Open>;
sch-ont:MSOA <http://statistics.data.gov.uk/id/msoa/E02000001>;
sch-ont:establishmentName "Guildhall School of Music and Drama";
...

Você pode consultar esses dados diretamente do ponto final SPARQL , ou você pode baixar os dados e armazená-los localmente em seu próprio armazenamento triplo. De qualquer forma, você tem total liberdade para adicionar informações extras que sejam úteis para seus usuários. Por exemplo:
@prefix ankurs-app: <http://ankur.org/example/app/vocab/display#>.
<http://education.data.gov.uk/id/school/135412> 
        ankurs-app:category ankurs-app:wkdCool.

Você pode armazenar esse novo triplo no mesmo gráfico que os dados baixados ou pode armazená-lo em um gráfico nomeado separado para indicar que são informações que têm uma proveniência diferente dos dados de origem. De qualquer forma, é simples consultá-lo programaticamente de Jena ou por meio de uma consulta SPARQL.

Fazendo um layout para com eficiência consultar dados centrados em triplo sem esquema é um problema bem estudado e difícil. A maioria das plataformas RDF, incluindo Jena, possui código bem otimizado para consultar e atualizar triplos de seus próprios esquemas de banco de dados. Você teria que ter boas razões para embarcar em seu próprio layout de tabela relacional :)

Se você realmente precisa pegar um esquema de tabela relacional existente e mapeá-lo para um modelo Jena RDF, veja D2RQ .