Utilisateur:Karima Rafes/Exemple de page projet pour ESGI

De ESCR
Aller à la navigation Aller à la recherche

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:

  1. Find related products (e.g. cluster by packaging size or weight)
  2. Find services / products without a product manager
  3. Find services / products without responsible department
  4. 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:56:11 22/11/2024 -- Actualiser -- Durée de la requête :0.03s -- CSV


p v
http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.w3.org/2000/01/rdf-schema#Class
09:56:11 22/11/2024 -- Actualiser -- Durée de la requête :0.026s -- 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:56:11 22/11/2024 -- Actualiser -- Durée de la requête :0.026s -- 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:56:11 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/1999/02/22-rdf-syntax-ns#Property
http://www.w3.org/2000/01/rdf-schema#subPropertyOf https://data.escr.fr/wiki/Utilisateur:Karima_Rafes/Exemple_de_page_projet_pour_ESGI#participatesIn
http://www.w3.org/2000/01/rdf-schema#domain https://data.escr.fr/wiki/Utilisateur:Karima_Rafes/Exemple_de_page_projet_pour_ESGI#Actor
http://www.w3.org/2000/01/rdf-schema#range https://data.escr.fr/wiki/Utilisateur:Karima_Rafes/Exemple_de_page_projet_pour_ESGI#Movie
09:56:11 22/11/2024 -- Actualiser -- Durée de la requête :0.021s -- CSV


Vérification que les données sont chargées :

p v
http://www.w3.org/1999/02/22-rdf-syntax-ns#type https://data.escr.fr/wiki/Utilisateur:Karima_Rafes/Exemple_de_page_projet_pour_ESGI#Actor
http://www.w3.org/1999/02/22-rdf-syntax-ns#type https://data.escr.fr/Magnus_dot/projet:Karima_Rafes/Exemple_de_page_projet_pour_ESGI#Actor
http://www.w3.org/1999/02/22-rdf-syntax-ns#type https://data.escr.fr/wiki/Utilisateur:Chricris/ExerciceESGI_2020_10_09#Actor
http://www.w3.org/1999/02/22-rdf-syntax-ns#type https://data.escr.fr/wiki/Utilisateur:Chricris/Projet-ESGI#EnergieConso
http://www.example.org/starsIn http://www.example.org/worldWarZ
http://www.example.org/consome http://www.example.org/worldWarZ
09:56:11 22/11/2024 -- Actualiser -- Durée de la requête :0.026s -- CSV


Démonstration

Des copies d'écran