Skip to content

Commit

Permalink
Fix sh:or/sh:property (#418)
Browse files Browse the repository at this point in the history
  • Loading branch information
ektrah authored Aug 29, 2022
1 parent 368aa37 commit 4fab97c
Showing 1 changed file with 35 additions and 63 deletions.
98 changes: 35 additions & 63 deletions shacl/BrickEntityShapeBase.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -52,40 +52,28 @@ brick:Equipment a sh:NodeShape ;
sh:class brick:Equipment;
sh:message "A piece of Equipment's parts should be always other Equipment."
];
sh:or (
sh:property [
sh:path brick:isPartOf;
sh:class brick:System;
sh:message "Equipment can be part of a Collection, System or other Equipment"
]
sh:property [
sh:path brick:isPartOf;
sh:class brick:Equipment;
sh:message "Equipment can be part of a Collection, System or other Equipment"
]
sh:property [
sh:path brick:isPartOf;
sh:class brick:Collection;
sh:message "Equipment can be part of a Collection, System or other Equipment"
]
) ;
sh:property [
sh:path brick:isPartOf;
sh:or (
[ sh:class brick:System ]
[ sh:class brick:Equipment ]
[ sh:class brick:Collection ]
);
sh:message "Equipment can be part of a Collection, System or other Equipment."
];
sh:property [
sh:path brick:hasLocation;
sh:class brick:Location;
sh:message "A piece of Equipment can be located only at a Location"
];
sh:or (
sh:property [
sh:path brick:feeds;
sh:class brick:Equipment ;
sh:message "A piece of Equipment can feed a Equipment" ;
]
sh:property [
sh:path brick:feeds;
sh:class brick:Location ;
sh:message "A piece of Equipment can feed a Location" ;
]
) ;
sh:property [
sh:path brick:feeds;
sh:or (
[ sh:class brick:Equipment ]
[ sh:class brick:Location ]
);
sh:message "A piece of Equipment can feed a Equipment or Location."
];
sh:property [
sh:path brick:hasPoint;
sh:class brick:Point;
Expand All @@ -102,18 +90,14 @@ brick:Point a sh:NodeShape;
[sh:not [ sh:class brick:Collection ] ; sh:message "Point is an exclusive top class." ]
);
sh:message "Point is an exclusive top class." ;
sh:or (
sh:property [
sh:path brick:isPointOf;
sh:class brick:Location ;
sh:message "A point can be associated with Locations or Equipment" ;
]
sh:property [
sh:path brick:isPointOf;
sh:class brick:Equipment ;
sh:message "A point can be associated with Locations or Equipment" ;
]
) ;
sh:property [
sh:path brick:isPointOf;
sh:or (
[ sh:class brick:Location ]
[ sh:class brick:Equipment ]
);
sh:message "A point can be associated with Locations or Equipment."
];
.

brick:Collection a sh:NodeShape;
Expand All @@ -125,28 +109,16 @@ brick:Collection a sh:NodeShape;
[sh:not [ sh:class brick:Point ] ; sh:message "Collection is an exclusive top class." ]
);
sh:message "Collection is an exclusive top class." ;
sh:or (
sh:property [
sh:path brick:hasPart;
sh:class brick:Equipment;
sh:message "A Collection can be associated with Equipments, Locations, Points, and other Collections."
]
sh:property [
sh:path brick:hasPart;
sh:class brick:Location;
sh:message "A Collection can be associated with Equipments, Locations, Points, and other Collections."
]
sh:property [
sh:path brick:hasPart;
sh:class brick:Point;
sh:message "A Collection can be associated with Equipments, Locations, Points, and other Collections."
]
sh:property [
sh:path brick:hasPart;
sh:class brick:Collection;
sh:message "A Collection can be associated with Equipments, Locations, Points, and other Collections."
]
);
sh:property [
sh:path brick:hasPart;
sh:or (
[ sh:class brick:Equipment ]
[ sh:class brick:Location ]
[ sh:class brick:Point ]
[ sh:class brick:Collection ]
);
sh:message "A Collection can be associated with Equipments, Locations, Points, and other Collections."
];
.

brick:Location a sh:NodeShape ;
Expand Down

0 comments on commit 4fab97c

Please sign in to comment.