-
Notifications
You must be signed in to change notification settings - Fork 11
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
Rules for combining information from info blocks #26
Comments
We might need to create info blocks for sections or other partial components. |
Needs more design |
I am not sure if this is the right place to put it, but I recently discovered two use cases that are currently not covered by the info block which might relate to this issue (otherwise the comment could be moved to its own one). The first use case concerns nested models that are supposed to be converted to SDF, where different levels contain different "info block information". One example could be two WoT Thing Models, where one TM acts as the other's submodel, and both have different licenses (see the two JSON listings below). If I see it correctly, there is currently no way to map this to SDF (my current solution is to only use the license from the top-level model). {
"@context": [
"https://www.w3.org/2022/wot/td/v1.1"
],
"@type": "tm:ThingModel",
"title": "Top-level Thing Model",
"links": [
{
"href": "https://example.com/license",
"rel": "license"
},
{
"href": "./submodel",
"rel": "tm:submodel",
"instanceName": "Submodel"
}
]
} {
"@context": [
"https://www.w3.org/2022/wot/td/v1.1"
],
"@type": "tm:ThingModel",
"title": "Submodel",
"links": [
{
"href": "https://example.com/differentLicense",
"rel": "license"
}
]
} Related to this is the case when you are referring to another SDF model with different info block information using One possible solution I see for these two use cases is to add the info block to the common qualities, allowing you to override the top-level one when needed. A mapped SDF model of the TM examples above could then look like this: {
"info": {
"license": "https://example.com/license"
},
"sdfThing": {
"topLevelModel": {
"label": "Top-level Thing Model",
"sdfObject": {
"Submodel": {
"label": "Submodel",
"info": {
"license": "https://example.com/differentLicense"
}
}
}
}
}
} I think this could work well, I am looking forward to discuss this with you :) |
I think generally combining models that have different licenses requires human intervention. As the result of that intervention, you will be able to state a single license of the combined model. (If not, it doesn't really make sense to combine them.) There is a reason we put the info block into a header position (as opposed to burying it in the tree)... |
(From IETF 110 ASDF WG meeting.)
The text was updated successfully, but these errors were encountered: