sql >> Databasteknik >  >> RDS >> Mysql

Bästa sättet att skapa en SPARQL-slutpunkt för en RDBMS (MySQL-databas)

Jag är inte säker på vad du menar med "ett nytt begrepp som heter kategori", kanske du kan ge ett exempel?

Om du menar att du vill lägga till ytterligare metadata, kanske som ett sätt att organisera information i användargränssnittet, finns det inget behov av att utöka de semantiska webbspråken eller lagringssystemen - de kan redan göra vad du vill.

Anta att du har data för en skola från UK Government schools dataset (använder Turtle-kodning för korthetens skull):

@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";
...

Du kan fråga direkt efter data från SPARQL-slutpunkten , eller så kan du ladda ner data och lagra den lokalt i din egen trippelbutik. Hur som helst, du är helt fri att lägga till extra information som är användbar för dina användare. Till exempel:

@prefix ankurs-app: <http://ankur.org/example/app/vocab/display#>.
<http://education.data.gov.uk/id/school/135412> 
        ankurs-app:category ankurs-app:wkdCool.

Du kan lagra denna nya trippel i samma graf som den nedladdade datan, eller så kan du lagra den i en separat namngiven graf för att indikera att det är information som har en annan härkomst än källdata. Oavsett vilket är det sedan enkelt att fråga det antingen programmatiskt från Jena eller via en SPARQL-fråga.

Göra en layout för effektivt att söka efter schemalösa trippelcentrerade data är ett väl studerat och svårt problem. De flesta av RDF-plattformarna, inklusive Jena, har väloptimerad kod för att fråga och uppdatera tripplar från sina egna databasscheman. Du måste ha mycket goda skäl för att börja på din egen relationstabelllayout :)

Om du verkligen behöver ta ett befintligt relationstabellschema och mappa det till en Jena RDF-modell, titta på D2RQ .



  1. Använda LogMiner för att hitta aktuella ändringar

  2. MySQL - Ändra datumsträng till datumtyp på plats?

  3. SQL ORDER BY flera kolumner

  4. Kan inte avgöra om normalisering eller denormalisering skulle fungera