Company.org
Moving Company to Linked Data
Eccenca trial project by Mikel Egaña Aranguren
Problem setting
Company
Departments
Products
Services
Staff
Data sources
CSV
XLSX
XML
Domain
- Create ontology
- Review ontology
- Map Data Sources to RDF
- Business questions
Tasks
- Create ontology
- Review ontology
- Map Data Sources to RDF
- Business questions
Method
Method
Release tag
Documentation (Markdown), code and data into version control
Create ontology
Tools
Protégé 5.2 for ontology editing
Result
Problems
- Not happy with the resulting ontology (Refactor equivalent axioms to avoid domain/range coercion)
- Modelling alternatives (e.g. expert types as subclasses of Staff)
- Complex datatypes
- LODE visualisation
Review ontology
Result
"an entity of Company cannot be, at the same time, a Service and a Department"
Map sources to RDF
Tools
Result
Result
Result
Problems
- FAIRifier could not digest XML file properly: spend too much time writing a hacky Java converter
- Did not add metadata (DCAT, VoID, PROV)
- Did not add SHACL validation mechanism through RDF4J/CI
Business questions
Result
All the products that weight in the range 10-15, ordered by price (cheapest first)
SELECT ?name ?weigth ?eur
WHERE {
?product company_def:weigth ?weigth .
?product company_def:name ?name .
?product company_def:priceEUR ?eur
FILTER (?weigth > "10"^^xsd:positiveInteger && ?weigth < "15"^^xsd:positiveInteger)
}
ORDER BY (?eur)
Result
What products is Wolfgang Martin responsible for?
SELECT ?product
WHERE {
?product a company_def:Product .
company_id:wolfgang-martin company_def:responsibleFor ?product .
}
Result
Find departments that do not offer services
SELECT ?department ?name
WHERE {
?department a company_def:Department .
?department company_def:name ?name .
OPTIONAL {
?department company_def:offersService ?service .
}
FILTER (!bound(?service))
}
Result
Corinna Ludwig is ill and we need someone to give a seminar on Phase Memristor Capacitors. Who else has the necessary expertise?
SELECT ?product ?expertise ?expert ?name
WHERE {
?product company_def:name "Phase Memristor Capacitor" .
?product company_def:requiresExpertise ?expertise .
?expert company_def:expertIn ?expertise .
?expert company_def:name ?name
FILTER (?name != "Corinna Ludwig")
}
Conclusion
Benefits
- Valuable assets integrated into a single Knowledge Graph
- Universal identification of assets through persistent URIs
- New analysis possibilities
- Flexible framework for integrating new sources, internal or external (e.g. schema annotated products)
Eccenca
By mikel-egana-aranguren
Eccenca
- 941