Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Oct 23 16:34
    umbreak synchronize #1724
  • Oct 23 16:07
    umbreak review_requested #1724
  • Oct 23 16:02
    umbreak synchronize #1724
  • Oct 23 15:38
    umbreak review_requested #1724
  • Oct 23 15:38
    umbreak review_requested #1724
  • Oct 23 15:37
    umbreak synchronize #1724
  • Oct 23 15:11
    imsdu synchronize #1722
  • Oct 23 15:10
    imsdu synchronize #1722
  • Oct 23 14:47
    kenjinp edited #1552
  • Oct 23 14:38
    umbreak synchronize #1724
  • Oct 23 14:37
    umbreak synchronize #1724
  • Oct 23 14:35
    umbreak synchronize #1724
  • Oct 23 14:30
    umbreak synchronize #1724
  • Oct 23 14:29
    umbreak review_requested #1724
  • Oct 23 14:29
    umbreak review_requested #1724
  • Oct 23 14:29
    umbreak review_requested #1724
  • Oct 23 14:29
    umbreak assigned #1724
  • Oct 23 14:29
    umbreak milestoned #1724
  • Oct 23 14:29
    umbreak opened #1724
  • Oct 23 10:53

    bbpnexusbuildbot on gh-pages

    updated site (compare)

mukul ashok joshi
@mukulajoshi_twitter
@umbreak thanks for the clarification. Look forward to the 1.4 release. Thanks
adeel-ansari
@adeel-ansari

Hi, we're working on loading data using the NIDM-Experiment ontology. The following link shows there was some interest in using Neuroshapes approach and SHACL for NIDM. https://www.incf.org/sig/neuroshapes-open-shacl-schemas-fair-neuroscience-data

Does anyone know if NIDM has SHACL shapes already created and if it is represented within Neuroshapes?

Bogdan Roman
@bogdanromanx
@adeel-ansari I don’t know… maybe @MFSY knows?
mukul ashok joshi
@mukulajoshi_twitter
Hi All, while executing "dist" via sbt on the source code, am getting this error : java.io.IOException: Cannot run program "cargo" (in directory "D:\nexus\storage\permissions-fixer"): CreateProcess error=2, The system cannot find the file specified. Has anyone faced this issue or is this something specific to windows?
mukul ashok joshi
@mukulajoshi_twitter
Hmmm it seems Cargo is part of the Rust language..So Cargo needs to be on the PATH?..will check whether solves the issue..
Bogdan Roman
@bogdanromanx
@mukulajoshi_twitter part of the build is a rust command line application that can be used to apply permission changes to files in certain deployment scenarios (remote storage)
yes, cargo would need to be on the path
but this is something that you can skip if it’s not of interest by excluding this module from the build
may I ask, what are you trying to achieve?
mukul ashok joshi
@mukulajoshi_twitter
@bogdanromanx thanks for the reply. At this point i am just trying to get nexus running outside a docker environment. For this i was trying to create the dist via sbt. Yes now after having been able to do the dist, i am able to run the delta and there does not seem to be a need for the storage module at this point. Thanks again.
Bogdan Roman
@bogdanromanx
great, np
are you using the universal packager build the dist? (delta/universal:packageBin)?
Bogdan Roman
@bogdanromanx
so without any modifications to the build, if you run: sbt delta/universal:packageBin the build will produce a zip file containing the service dependencies and run script in delta/target/universal
Bogdan Roman
@bogdanromanx
please also be aware that there’s an open issue that affects the v1.4.0 release: BlueBrain/nexus#1471
mukul ashok joshi
@mukulajoshi_twitter
@bogdanromanx thanks for the additional information! I did some workaround to get the dist for the storage (by commenting out the cargo and manually creating the fixer folder, since the scripts are unix specific and do not work on windows), since i did not know about the universal packager. Next time will use the delta specific universal packager, if there is no need for storage. Currently trying to figure out how to get the login for the nexus-web (fusion), which seems to depend on realms/identities. Any pointers on this as well will be useful. Once the creation of organization/projects is possible, then probably the open issue will come in picture. Also any writeups on how shacl is used in nexus will be useful (how it is uploaded and then used for validation). Thanks again
Bogdan Roman
@bogdanromanx
with respect to the login, there are quite a few options on the table, but it depends on how you’d like to set it up
are you planning on using LDAP? or something different?
either way, I would recommend using Keycloak to mediate access between Nexus and your Identity Provider of choice (LDAP, FB, Google, Github etc.)
with respect to the Nexus configuration, it’s a matter of creating a realm pointing to the openid config discovery document and then granting the appropriate permissions
@MFSY, do we have any documentation on how to create shacl based schemas?
Bogdan Roman
@bogdanromanx
shacl based validation in Nexus is offered through the use of schemas; a schema is a resource in a project; you can have many schemas and they have the same lifecycle as any other resources
once you’ve created a schema, you can create resources that are constrained by that schema using the normal resource api: https://bluebrainnexus.io/docs/delta/api/current/kg-resources-api.html
validation happens when a resource is created or updated; if validation succeeds, the operation will succeed, otherwise the operation will be rejected by the system
mukul ashok joshi
@mukulajoshi_twitter
@bogdanromanx thanks! Really helpful pointers. Will get started on these and hopefully will be able to create/browse the data as a graph. Also how does the data go from Cassandra (write) to Elastic/Blazegraph (read)? Is that also done when the data is created? Or there is some other process for it? Thanks again
Bogdan Roman
@bogdanromanx
the system does that automatically; we call these processes projections
there’s some information on that here: https://bluebrainnexus.io/docs/delta/architecture.html#anatomy
the processes are controlled (configured) through the use of resources of type View
there are quite a few variations of these resources, explained here: https://bluebrainnexus.io/docs/delta/api/current/views/index.html
happy to be able to help

Is that also done when the data is created?

it’s done for each change in the system through asynchronous processes immediately after data is created, updated or deprecated

mukul ashok joshi
@mukulajoshi_twitter
@bogdanromanx thanks again for the detailed replies. These are really helpful insights!
Bogdan Roman
@bogdanromanx
👍
Paul Pawletta
@PaulPawletta
Hi everyone. Is there a better way to create resources against a schema except from sending a "POST /v1/resources/{org_label}/{project_label}/{schema_id}"? I couldn't find any functionalities in Nexus Fusion or Nexus Forge. My use case would be e.g. that I have a pandas dataframe and I want to upload or validate it against the uploaded schema in Nexus Delta.
Alejandra Garcia Rojas M
@alegrm
@PaulPawletta you can use the Nexus Forge to convert a data frame to a Resource object in the Forge, and then you can validate the Resource with the Forge too, but notice that you need to configure the Forge Model to have access to the Shacl Model you want to validate that against. Check the notebook 7 and 11 in https://github.com/BlueBrain/nexus-forge/tree/master/examples/notebooks/getting-started, and the doc of the Forge configuration here https://nexus-forge.readthedocs.io/en/latest/interaction.html#forge
Paul Pawletta
@PaulPawletta
@alegrm Thank you! Notebook 11 was exactly what I was looking for.
Paul Pawletta
@PaulPawletta
Hi all. I'm running Nexus and Keycloak using docker swarm and I'm trying to set up ACLs for users. After creating a realm I'm able to create ACL for /org1 (still keeping all the rights for Annonymous at root - / ). Now when I try to modify the ACL at root using PATCH, I'm ending up removing all ACLs including Annonymous and the created ACLs for /org1. So I'm loosing all the permissions to do anything inside Nexus. How should I modify the ACLs at root level?
Screenshot 2020-09-21 at 17.52.08.png
Didac
@umbreak
As soon as you replace the ACLs for /, the previous Anonymous ACLs get overriden, yes. So whenever you change the ACLs, make sure you set an identity that you can login from
Paul Pawletta
@PaulPawletta
This is the response I'm receiving from http://localhost/v1/acls/org1?ancestors=true&self=false
And I'm not able to create anything now with my users from group1 (AuthorizationFailed -
"reason": "The supplied authentication is not authorized to access this resource."). Can you see anything that is wrong with my created ACLs?
Paul Pawletta
@PaulPawletta
In Nexus-Web I can login with my users from group1, but I loose all functionalities for reading and writing.
Didac
@umbreak
what do you get as a response from the identities endpoint when using your TOKEN?
curl -s -H "Authorization: Bearer $TOKEN" "https://{host}/v1/identities
Paul Pawletta
@PaulPawletta
Screenshot 2020-09-22 at 14.53.58.png
Didac
@umbreak
as you can see, there is nothing like group1 in this list, and you set ACLs in / for group1
When you did the first PATCH on / you should have done it for the identity:
"realm": "nexusdev",
"subject": "user1"
Paul Pawletta
@PaulPawletta
Thanks @umbreak that works! I guess my error is then related to how I configure the groups in keycloak
Didac
@umbreak

Yes. I guess the groups are not linked to the users correctly. When dealing with groups you have 2 options:

  • Adding the group information directly into the token. This is the most performant option if you don’t have too many groups in application. Otherwise don’t use it since the token is gonna get pretty big.
  • Using the /userinfo endpoint to fetch the group information.

I believe keycloack supports both, but I’m not well aware of the details. If you need some help with keycloak I could probably ask someone else on the team to help you. Let us know.

Paul Pawletta
@PaulPawletta
Exactly. The problem was the missing group information. Now it works with group ACLs. Thanks @umbreak ,we probably need help in the future for a proper production setup. For now I'm just playing :)