-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SHACL work for Brick #97
Conversation
making a URI into the form of prefix:name.
Diff the original for comparison.
I'm puzzled -- I don't have that line in the file. But I notice that in the master of Brick repo, the notation for the brick terms has changed from |
|
This is the offending part. "substance" is not a URI. |
Oh, bizarre. Why is the |
I added this part. It's was hard coded in generate_shacl.py. I moved it here. Is that the right thing to do? |
The files used by |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work!
I think what's next is making the SHACL shapes as complete as possible.
- SHACL shape and unit test for each Brick property
- examples of SHACL shapes (with lower severity) for an "equipment template". What I mean by this is a shape that encapsulates the expected points (and other properties) for a given type of equipment. For example, a VAV shape for a particular building might require that the VAV has a Damper (through
hasPart
), a temperature sensor and setpoint (throughhasPoint
), an upstream AHU (isFedBy
) and a downstream HVAC Zone (feeds
). These won't be "universal" in that we'll use them for all Brick models, but we should show how one would create such a shape for a particular deployment
Also new use of rdfs:domain and :range crept in from the master. Change them to brick:expectedDomain and :expecteRange.
Also it will be good to draw insights via sparql from Brick.ttl. For example when I make shapes for feedsAir as it is, I have to specify substanceSuperClass. But this info can be obtained by querying for classes that have Brick:Air as a subclass. I'll put those thoughts into the future plan in DESIGN.md. |
I have send thought on expectedDomain/Range stuff in properties.py. They should not be there because the normal Brick.ttl is generated using the file, too. I'd put .domain and .range back. Then use a simple tool to remove .domain and .range from standard Brick.ttl. Use this modified Brick.ttl for shacl reasoning. |
Put Gabe's email here for the records:
|
and .range to generate shapes. But use a modified Brick.ttl (with .domain and .range properties removed) for pyshacl reasoning.
they can be returned as the violation results.
doesn't have the correct prefix brick:. Fix it.
Now properties.py is identical with the main repo's master.
Before going ahead with major changes let us see if the following moves sound reasonable.
|
This PR is a continuation of PR 85. It encompasses the following items:
Special notes: