Mysql
 sql >> Base de données >  >> RDS >> Mysql

Meilleur moyen de créer un point de terminaison SPARQL pour un SGBDR (base de données MySQL)

Je ne sais pas ce que vous entendez par "un nouveau concept appelé catégorie", peut-être pourriez-vous donner un exemple ?

Si vous voulez dire que vous souhaitez ajouter des métadonnées supplémentaires, peut-être pour organiser les informations dans l'interface utilisateur, il n'est pas nécessaire d'étendre les langages du Web sémantique ou les systèmes de stockage - ils peuvent déjà faire ce que vous voulez.

Supposons que vous ayez des données pour une école à partir de l'ensemble de données sur les écoles du gouvernement britannique (en utilisant l'encodage Turtle pour plus de concision) :

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

Vous pouvez directement interroger ces données à partir du SPARQL endpoint , ou vous pouvez télécharger les données et les stocker localement dans votre propre magasin triple. Dans tous les cas, vous êtes parfaitement libre d'ajouter des informations supplémentaires utiles à vos utilisateurs. Par exemple :

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

Vous pouvez stocker ce nouveau triplet dans le même graphique que les données téléchargées, ou vous pouvez le stocker dans un graphique nommé séparé pour indiquer qu'il s'agit d'informations dont la provenance est différente de celle des données source. Dans tous les cas, il est alors simple de l'interroger soit par programmation depuis Jena, soit via une requête SPARQL.

Faire une mise en page pour efficacement interroger des données triple centrées sans schéma est un problème bien étudié et difficile. La plupart des plates-formes RDF, y compris Jena, ont un code bien optimisé pour interroger et mettre à jour les triplets à partir de leurs propres schémas de base de données. Il faudrait avoir de très bonnes raisons pour se lancer dans son propre agencement de table relationnelle :)

Si vous avez vraiment besoin de prendre un schéma de table relationnelle existant et de le mapper sur un modèle Jena RDF, regardez D2RQ .