-
Notifications
You must be signed in to change notification settings - Fork 25
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
Circular dependency between IonChannelMechanism and SubCellularModel #173
Comments
Pinging my boss @genric :) |
I'm fine with removing it, just a bit worried that we might discover some properties in the future which will make sense to attach to SubCellularModel and will have to reintroduce that entity. |
I would like to add @apdavison on this. |
Hi @wizmer, Do you have SubCellularModel data ? If it is a valid entity that exists in your pipeline, I suggest to keep it. I think the main difference between SubCellularModel and SubCellularModelScript is they are different type of entities. I guess you're talking about IonChannelMechanismReleaseShape that targets nsg:IonChannelMechanismRelease. I was not able to find IonChannelMechanism. What I've seen so far is: I don't call this circular dependancy as the property (nsg:subCellularModel) that link a nsg:IonChannelMechanismRelease to a nsg:SubCellularModel is different to the one (dcterms:isPartOf) that link a nsg:SubCellularModel to a nsg:IonChannelMechanismRelease. Also only neurosciencegraph/simulation/ionchannelmechanismrelease/v0.1.3 imports neurosciencegraph/simulation/subcellularmodel/v0.1.3. But I suggest the following changes:
From: {
"path": "nsg:subCellularModel",
"name": "Subcellular model",
"description": "Subcellular models which are part of this release.",
"node": "{{base}}/schemas/neurosciencegraph/simulation/subcellularmodel/v0.1.3/shapes/SubCellularModelShape"
} To: {
"path": "nsg:subCellularModel",
"name": "Subcellular model",
"description": "Subcellular models which are part of this release.",
"class": "nsg:SubCellularModel"
}
Not that the node ref is replaced by a type check (class). |
Yes, I was talking about IonChannelMechanismRelease and no, I have no SubCellularModel data. Well, yes it may not be purely cyclic as the properties have different names but they still convey exactly the same meaning (ie. the container (IonChannelMechanismRelease) <---> contained object (SubCellularModel) relationship). Sorry if it is obvious to you but I don't understand how does your suggestion solve the issue. Let's say you want to create a IonChannelMechanismRelease object, you still need to first create a SubCellularModel first, who itself require the IonChannelMechanismRelease object in order to be created ? That being said, I'm a total noob in the Nexus world and probably don't see all the implication of removing the SubCellularModel class (maybe other people are using it ?) |
No: because nothing is mandatory (there is no minCount set to 1) in both schemas. You can create a IonChannelMechanismRelease object without a SubCellularModel model and you can create a SubCellularModel without a IonChannelMechanismRelease. Again that's what I read from the schemas. The way the schemas are written need to be changed if you want to make mandatory fields.
I don't think they convey the same meaning but I see your point. In linked data and SHACL it is quite common to have two entities referencing each other.
This is a valid point. The answer of the following question can help here:
|
Thanks a lot for your answers @MFSY , that helps a lot.
And for information, the IonChannelRelease I'm using has around ~30 models. |
Hi,
IonChannelMechanism
has a propertysubCellularModel
that targets aSubCellularModel
and the later has a propertyisPartOf
that target one ofIonChannelMechanism
orSynapseRelease
.In fact the property
isPartOf
is the only distinction betweenSubCellularModel
andSubCellularModelScript
. That make me think thatSubCellularModel
could actually be removed.Indeed
IonChannelMechanism
andSynapseRelease
could directly points to theSubCellularModelScript
nodes without having to pass throughSubCellularModel
and without any loss of information.What do you think ?
The text was updated successfully, but these errors were encountered: