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.8.tar.gz
(68.4 kB
view hashes)
Built Distribution
Close
Hashes for brickschema-0.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 566ff2d4f081abad9bd66d495eddca9304a270f838c0947ca19166047a4e9aed |
|
MD5 | e1a2142b9dcf320fe7c08183b7fd624f |
|
BLAKE2b-256 | 80feae719581dd7cebe48fff933d582f6a6c129467e873fd275e9433673a240e |