From 233b31a057804b52f08a06ef7400b6c1a39b05e3 Mon Sep 17 00:00:00 2001 From: rileywong311 Date: Sat, 19 Aug 2023 15:10:33 -0700 Subject: [PATCH] Brick UI relations list uses "label" if there is one --- .../blenderbim/bim/module/brick/data.py | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/brick/data.py b/src/blenderbim/blenderbim/bim/module/brick/data.py index ff6e5af5fb..e5c31a70b6 100644 --- a/src/blenderbim/blenderbim/bim/module/brick/data.py +++ b/src/blenderbim/blenderbim/bim/module/brick/data.py @@ -67,13 +67,17 @@ class BrickschemaData: PREFIX brick: PREFIX rdfs: PREFIX rdf: - SELECT DISTINCT ?predicate ?object ?sp ?sv WHERE { - <{uri}> ?predicate ?object . - OPTIONAL { - { ?predicate rdfs:range brick:TimeseriesReference . } - UNION - { ?predicate a brick:EntityProperty . } - ?object ?sp ?sv } + SELECT DISTINCT ?predicate ?object ?label ?sp ?sv WHERE { + <{uri}> ?predicate ?object . + OPTIONAL { + ?object rdfs:label ?label . + } + OPTIONAL { + { ?predicate rdfs:range brick:TimeseriesReference . } + UNION + { ?predicate a brick:EntityProperty . } + ?object ?sp ?sv . + } } GROUP BY ?object """.replace( @@ -84,13 +88,15 @@ class BrickschemaData: predicate_uri = row.get("predicate") predicate_name = predicate_uri.toPython().split("#")[-1] object_uri = row.get("object") - if isinstance(object_uri, BNode): - object_name = "[]" - else: - try: - object_name = object_uri.toPython().split("#")[-1] - except: - object_name = str(object_uri) + object_name = row.get("label") + if not object_name: + if isinstance(object_uri, BNode): + object_name = "[]" + else: + try: + object_name = object_uri.toPython().split("#")[-1] + except: + object_name = str(object_uri) results.append( { "predicate_uri": predicate_uri,