Improving the GraphQL, JSON and RDF Representations of buildingSmart Data Dictionary
The buildingSmart Data Dictionary (bSDD) is an important shared resource in the Architecture, Engineering, Construction, and Operations (AECO) domain. It is a collection of datasets (“domains”) that define various classifications (objects representing building components, products, and materials), their properties, allowed values, etc. bSDD defines a GraphQL API, as well as REST APIs that return JSON and RDF representations. This improves the interoperability of bSDD and its easier deployment in architectural Computer Aided Design (CAD) and other AECO software.
However, bSDD data is not structured as well as possible, and data retrieved via different APIs is not identical in content and structure. This lowers bSDD data quality, usability and trust.
We conduct a thorough comparison and analysis of bSDD data related to fulfillment of FAIR (findable, accessible, interoperable, and reusable) principles. Based on this analysis, we suggest enhancements to make bSDD data better structured and more FAIR.
We implement many of the suggestions by refactoring the original data to make it better structured/interconnected, and more “semantic”. We provide a SPARQL endpoint using Ontotext GraphDB, and GraphQL endpoint using Ontotext Platform Semantic Objects.
Links | |
---|---|
https://bsdd.ontotext.com This home page: schemas, data, sample queries |
|
https://github.com/Accord-Project/bsdd Technical work (open source): scripts to get and refactor data, obtain GraphQL schema, generate and refactor SOML |
|
README.html Detailed description of the work we did, 40 pages |
|
new README.html | new README: left navigation pane, but some minor typographic problems |
paper.pdf Accepted at 11th Linked Data in Architecture and Construction Workshop (LDAC 2023), 15-16 June 2023 |
|
presentation: html, pdf, pptx Presentation at LDAC 2023, 15 June 2023 |
|
Webinars: video, transcript (if important, ask us to edit it), brief notes | * 24 Mar 2023 to ACCORD (17 participants from universities and industry, ACCORD project and external) * 26 Apr 2023 to bSI (4 participants, including 2 from buildingSMART International) * 15 May 2023 to W3C Linked Building Data CG (20 participants from universities and industry) * 26 May 2023, Natural Language Querying with ChatGPT, SOML, and GraphQL Ontotext Last Friday presentation (40 participants from Ontotext) * LDAC BSDD session We’re looking forward to see you at that session, and please vote for the topics to be discussed! |
Discussion at bSI forum: please contribute! | * Changes to bSDD data model names * bSDD schema diagrams * Semantic bSDD |
Refactored Endpoints | |
Voyager Refactored Refactored GraphQL schema visualization with Voyager |
|
PlantUML Overview Diagram: png or svg | |
PlantUML Full Diagram: png or svg | |
bsdd-graphql-soml.patch Differences between original and refactored schema (as SOML) |
|
https://bsdd.ontotext.com/platform Semantic Objects workbench: administrative interface for the Ontotext Platform implementing GraphQL (protected) |
|
https://bsdd.ontotext.com/graphql Refactored GraphQL endpoint |
(protected) |
https://bsdd.ontotext.com/graphiql Refactored GraphQL query editor |
|
https://bsdd.ontotext.com/graphdb GraphDB Workbench: administrative interface for our semantic database |
(protected) |
https://bsdd.ontotext.com/graphdb/repositories/bsdd GraphDB SPARQL endpoint |
|
https://bsdd.ontotext.com/graphdb/sparql GraphDB SPARQL editor |
|
https://bsdd.ontotext.com/graphdb/graphs-visualizations Visual Graph visualizations |
|
Original Endpoints | |
Voyager Original Original GraphQL schema visualization with Voyager |
|
Analysis Sheet Analysis of differences between GraphQL, JSON and RDF representations |
|
https://test.bsdd.buildingsmart.org/graphql Original GraphQL endpoint |
(protected) |
https://test.bsdd.buildingsmart.org/graphiql Original GraphQL query editor |
Acknowledge | ||
---|---|---|
Developed by | Ontotext (Sirma AI) | |
Funded by | Horizon Europe Project ACCORD (101056973) | |
Powered by | Ontotext GraphDB | |
Powered by | Ontotext Platform Semantic Objects | |
Data from | buildingSMART Data Dictionary |