« Utilisateur:Karima Rafes/Exemple de page projet pour ESGI » : différence entre les versions
(insert a sample of XML) |
|||
Ligne 51 : | Ligne 51 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
A CSV file of a list of products: | |||
<syntaxhighlight lang="bash"> | |||
ServiceID,ServiceName,Products,ProductManager,Price | |||
B000-8776317,Product Analysis,"A000-1234567, A000-1234568",Lambert.Faust@company.org,"748,40 EUR" | |||
B000-3449390,Component Confabulation,"A000-1234567, A000-1234568, B000-8776317, B000-3449390",Corinna.Ludwig@company.org,"1082,00 EUR" | |||
</syntaxhighlight> | |||
Observation: the column Products is a list of ProductID (excel file) and ServiceID (csv file). To simplify the export, IRI structure of a service and a product will be the same (. | |||
A Excel file of a list of products: | |||
<syntaxhighlight lang="bash"> | |||
ProductID ProductName Height Width Depth Weigth ProductManager Price | |||
I241-8776317 Strain Compensator 12 68 15 8 Baldwin.Dirksen@company.org 0,50 EUR | |||
D215-3449390 Gauge Crystal 77 58 19 15 Wanja.Hoffmann@company.org 2,00 EUR | |||
</syntaxhighlight> | |||
== Définition de votre graphe de connaissances == | == Définition de votre graphe de connaissances == |
Version du 5 septembre 2021 à 08:11
Based on the given datasets, an ontology should be engineered, the data shall be integrated in a knowledge graph as well as the business questions should be answered from that graph.
Objectives
A company want to make their knowledge graph accessible via a SPARQL service.
The SPARQL service need to answer business questions, examples:
- Find related products (e.g. cluster by packaging size or weight)
- Find services / products without a product manager
- Find services / products without responsible department
- Identify alternative experts that can take over responsibility
Three datasets exists and these data have to be reusable in a knowledge graph accessible via a SPARQL service.
A XML file of an organisational structure of the client:
<orgmap>
<dept id="1" name="Engineering">
<manager>
<email>A.B@company.org</email>
<name>A B</name>
<address>street1 number1, CodePostal1 city1</address>
<phone>phonenumber1</phone>
</manager>
<employees>
<employee>
<email>C.D@company.org</email>
<name>C D</name>
<address>street2 number2, CodePostal2 city2</address>
<phone>phonenumber2</phone>
<productExpert>TV, Transistor</productExpert>
</employee>
<employee>
<email>E.F@company.org</email>
<name>E F</name>
<address>street3 number3, CodePostal1 city1</address>
<phone>phonenumber3</phone>
<productExpert>TV, Oscillator</productExpert>
</employee>
</employees>
<products>
<product id="A000-1234567" />
<product id="A000-1234568" />
</products>
<services>
<service id="B000-8776317" />
<service id="B000-3449390" />
</services>
</dept>
<orgmap>
A CSV file of a list of products:
ServiceID,ServiceName,Products,ProductManager,Price
B000-8776317,Product Analysis,"A000-1234567, A000-1234568",Lambert.Faust@company.org,"748,40 EUR"
B000-3449390,Component Confabulation,"A000-1234567, A000-1234568, B000-8776317, B000-3449390",Corinna.Ludwig@company.org,"1082,00 EUR"
Observation: the column Products is a list of ProductID (excel file) and ServiceID (csv file). To simplify the export, IRI structure of a service and a product will be the same (.
A Excel file of a list of products:
ProductID ProductName Height Width Depth Weigth ProductManager Price
I241-8776317 Strain Compensator 12 68 15 8 Baldwin.Dirksen@company.org 0,50 EUR
D215-3449390 Gauge Crystal 77 58 19 15 Wanja.Hoffmann@company.org 2,00 EUR
Définition de votre graphe de connaissances
Schema
Diagramme de classes ou modèle RDF (comme vue en cours)
Vocabulaire
Base
BASE <https://data.escr.fr/wiki/Utilisateur:Karima_Rafes/Exemple_de_page_projet_pour_ESGI#>
Préfixes
PREFIX ex: <http://www.example.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
Classes
Movie
<Movie> rdf:type rdfs:Class .
MovieStaff
<MovieStaff> rdf:type rdfs:Class .
Actor
<Actor> rdf:type rdfs:Class .
<Actor> rdfs:subClassOf <MovieStaff>.
Propriétés
participatesIn
<participatesIn> rdf:type rdf:Property .
participatesIn
<starsIn> rdf:type rdf:Property .
<starsIn> rdfs:subPropertyOf <participatesIn> .
<starsIn> rdfs:domain <Actor>.
<starsIn> rdfs:range <Movie>.
Exemple d'un jeu de données
ex:bradPitt rdf:type <Actor>.
ex:bradPitt ex:starsIn ex:worldWarZ .
Requêtes
Vérification que le vocabulaire est bien chargé :
p | v |
---|---|
http://www.w3.org/1999/02/22-rdf-syntax-ns#type | http://www.w3.org/2000/01/rdf-schema#Class |
09:44:50 22/11/2024 -- Actualiser -- Durée de la requête :0.019s -- CSV |
p | v |
---|---|
http://www.w3.org/1999/02/22-rdf-syntax-ns#type | http://www.w3.org/2000/01/rdf-schema#Class |
09:44:50 22/11/2024 -- Actualiser -- Durée de la requête :0.02s -- CSV |
p | v |
---|---|
http://www.w3.org/1999/02/22-rdf-syntax-ns#type | http://www.w3.org/2000/01/rdf-schema#Class |
http://www.w3.org/2000/01/rdf-schema#subClassOf | https://data.escr.fr/wiki/Utilisateur:Karima_Rafes/Exemple_de_page_projet_pour_ESGI#MovieStaff |
09:44:50 22/11/2024 -- Actualiser -- Durée de la requête :0.023s -- CSV |
p | v |
---|---|
http://www.w3.org/1999/02/22-rdf-syntax-ns#type | http://www.w3.org/1999/02/22-rdf-syntax-ns#Property |
09:44:50 22/11/2024 -- Actualiser -- Durée de la requête :0.018s -- CSV |
Vérification que les données sont chargées :
Démonstration
Des copies d'écran