A library for working with the Brick ontology for buildings (brickschema.org)
Project description
Brick Ontology Python package
Installation
The brickschema
package requires Python >= 3.6. It can be installed with pip
:
pip install brickschema
Haystack Inference
Requires a JSON export of a Haystack model
First, export your Haystack model as JSON; we are using the public reference model carytown.json
.
Then you can use this package as follows:
import json
from brickschema.inference import HaystackInferenceSession
haysess = HaystackInferenceSession("http://project-haystack.org/carytown#")
model = json.load(open('carytown.json'))
model = haysess.infer_model(model)
print(len(model))
points = model.query("""SELECT ?point ?type WHERE {
?point rdf:type/rdfs:subClassOf* brick:Point .
?point rdf:type ?type
}""")
print(points)
SQL ORM
from brickschema.graph import Graph
from brickschema.namespaces import BRICK
from brickschema.orm import SQLORM, Location, Equipment, Point
# loads in default Brick ontology
g = Graph(load_brick=True)
# load in our model
g.load_file("test.ttl")
# put the ORM in a SQLite database file called "brick_test.db"
orm = SQLORM(g, connection_string="sqlite:///brick_test.db")
# get the points for each equipment
for equip in orm.session.query(Equipment):
print(f"Equpiment {equip.name} is a {equip.type} with {len(equip.points)} points")
for point in equip.points:
print(f" Point {point.name} has type {point.type}")
# filter for a given name or type
hvac_zones = orm.session.query(Location)\
.filter(Location.type==BRICK.HVAC_Zone)\
.all()
print(f"Model has {len(hvac_zones)} HVAC Zones")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
brickschema-0.0.5.tar.gz
(64.2 kB
view hashes)
Built Distribution
Close
Hashes for brickschema-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ceea45269f36cd69fbb1933502ab735ea2cdd0e688bea3c4357ed638048fc3d4 |
|
MD5 | 4aac6b9a355f44d3eb6d43e6b4170126 |
|
BLAKE2b-256 | db86c88c7c75854d858fb0d6c6e058ab1a7715cf96e8a155253b8cc89b23bb3b |