-
Notifications
You must be signed in to change notification settings - Fork 15
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
Spaces running over multiple storeys #21
Comments
Indeed thats a good point. Anyway to use the |
I think there are three methods possible for a situation with a space that runs over multiple storeys:
In this case, one has to take care while querying with reasoning that a certain space can occur multiple times as containedZone of the site and building. There's also no difference in order between the two storeys of the space. A bot:Element that is contained in spaceA (e.g. a stair) and runs over multiple storeys will also be inferred to be a containedElement of the multiple storeys that contain the space. An element that is contained in spaceA, but in fact is only contained in one storey of the spaceA (e.g. a desk), will be wrongly inferred to be contained in all the storeys of the space.
Problem here would be that
A bot:Element contained in the space and contained in one storey (e.g. inst:storey1) is modeled as:
A bot:Element contained in spaceA and running over two storeys would then be modelled as:
=> first triple wrongly inferres that @MadsHolten : what would be the preferred way to model this? Or methods that are disapproved? I think only method 2 can be used in all cases. Method 1 and 3 will infer wrong results and are disapproved, I think. It would be useful to somehow formally express for method 2 in the ontology, that any space that consists of sub-spaces, is also contained in the storeys of these sub-spaces. This is probably only possible by defining a new property bot:hasSuperSpace with domain and range a bot:Space. Then an additional propertyChainAxiom on bot:hasSpace for (bot:hasSpace bot:hasSuperSpace) would make things easier. See the next example triples:
=> this would infer via the new propertyChainAxiom:
EDIT: this additional property ( |
If the order of the storeys is important (= which storey is above/below the other), I think of four methods:
@MadsHolten : I think it would be worthwhile to add something as |
Actually, from the BOT definitions, you cannot say that it is contained in any of the storeys as it only intersects with them. The stairwell is only contained in the building. The main problem here is that you understand Storey as a level with an elevation, which it is not. It is just a zone. It has adjacencies to all the corridors contained in the levels. Can you use this fact for your use case? |
I have to admit that I strongly agree with @pipauwel that we should not include too many terms in BOT as it is only supposed to be the core. Feel free to extend the concepts as you wish, but to me, it seems like you have a very specific use case in mind here. |
But can't you say that the stair is contained (or at least related) to the two spaces it intersects with? Otherwise, the stairs is not connected to any storeys and spaces at all and just 'somewhere' in the building.
I think a stairs is not so uncommon in buildings? I really think we should gather some best modeling practices related to BOT, without defining too much restrictions in the ontology |
I think we could challenge the bot:containsZone to also be applicable for intersecting zones. In that case, I prefer your modelling approach 1. If you query for distinct spaces your query will not return a wrong result. In the docs there is a section for examples. It would be awesome if you implement the staircase example there. https://github.com/w3c-lbd-cg/lbd/blob/gh-pages/bot/index.html |
I have given it a shot using interfaces. Tell me what you think. |
Overall, I think this is an interesting approach. Some suggestions for the text:
From your earlier comment:
I would suggest to make the definition in the BOT ontology of For the demo, it would be good to also have a second part, where you place |
I think the approach with |
No, approach 1 cannot be used, as it would wrongly infer that the desk object is contained in all the storeys that contain the space |
@mathib will you update the docs with the modeling approach we discussed during the W3C call (subzones of stairwell zone defining vertical stratification)? |
working on a sparql-vis example. You want me to add it to the docs too? We could also wait for LDAC and discussions there, before we further update the docs? |
As discussed at LDAC2018 (and documented in issue #30), we go for the second approach covered in the above sparql-vis. |
If a bot:Space runs over multiple storeys (e.g. a stairwell), it could be useful if, besides the bot:hasSpace relation from the lowest bot:Storey to the bot:Space, an extra object property (e.g. bot:intersectsSpace) can be defined from the higher bot:Storeys that intersect with the bot:Space.
Example:
The text was updated successfully, but these errors were encountered: