-- Création des tables
CREATE TABLE Personne (
id INT PRIMARY KEY,
nom VARCHAR(100),
age INT
);
CREATE TABLE Ville (
id INT PRIMARY KEY,
nom VARCHAR(100),
pays VARCHAR(100)
);
CREATE TABLE Habite (
personne_id INT,
ville_id INT,
FOREIGN KEY (personne_id) REFERENCES Personne(id),
FOREIGN KEY (ville_id) REFERENCES Ville(id)
);
-- Requête : trouver les noms des personnes qui habitent à Paris
SELECT p.nom
FROM Personne p
JOIN Habite h ON p.id = h.personne_id
JOIN Ville v ON h.ville_id = v.id
WHERE v.nom = 'Paris';
-- Requête : trouver les personnes de plus de 30 ans
SELECT nom, age
FROM Personne
WHERE age > 30
ORDER BY age DESC;
# Données RDF (Turtle)
@prefix : .
@prefix rdf: .
:Alice a :Personne ;
:nom "Alice" ;
:age 28 ;
:habite :Paris .
:Paris a :Ville ;
:nom "Paris" ;
:pays "France" .
# Requête : trouver les noms des personnes qui habitent à Paris
SELECT ?nom WHERE {
?personne a :Personne .
?personne :nom ?nom .
?personne :habite ?ville .
?ville :nom "Paris" .
}
# Requête : trouver les personnes de plus de 30 ans
SELECT ?nom ?age WHERE {
?personne a :Personne .
?personne :nom ?nom .
?personne :age ?age .
FILTER(?age > 30)
}
ORDER BY DESC(?age)