Giter Club home page Giter Club logo

Comments (12)

mjordan avatar mjordan commented on July 29, 2024

@seth-shaw-unlv It would be feasible enough to join the relator and the term ID with a character, but how would be handle multiple values for that field? Something like pht:5|pht:34? Would we need the relators: namespace?

from islandora_workbench.

seth-shaw-unlv avatar seth-shaw-unlv commented on July 29, 2024

@mjordan we do need the relators namespace as that is part of the field value. Other namespaces, such as schema, can also be used. So, you could have "relators:pht|5;schema:author|34".

from islandora_workbench.

mjordan avatar mjordan commented on July 29, 2024

Sounds good. We allow users to define subdelimiter for multivalued fields, but I don't think we need to provide an option to define the namespace / value pair. Maybe we could reserve : and not allow it to be used as a subdelimiter (and check that it's not configured as the subdelimter value).

from islandora_workbench.

mjordan avatar mjordan commented on July 29, 2024

Sorry, my last comment is incomplete. Since we allow users to define the multivalue subdelimiter, maybe a syntax like "relators:pht:5;schema:author:34" (multivalue subdelimiter is ;) would be OK, in other words, the namespace / relator / local value triple would need to use : to join all three parts. Then people could use whatever multivalue subdelimiter they want as long as it's not a :. The repeated use of the same internal separator means the order and number of parts is significant, which is probably not a big deal as long as that kind of syntax apply to all TypedRelation fields. Would it apply to all TypedRelation fields?

from islandora_workbench.

mjordan avatar mjordan commented on July 29, 2024

Since we can now get a field's type during --check, we can also validate this complex structure.

from islandora_workbench.

seth-shaw-unlv avatar seth-shaw-unlv commented on July 29, 2024

@mjordan we can make that work. After we explode on the sub-delimiter we can split each field instance value on the last colon seen to get the field's predicate and tid.

from islandora_workbench.

mjordan avatar mjordan commented on July 29, 2024

Cool, I'll work on implementing this over the next day or two.

from islandora_workbench.

mjordan avatar mjordan commented on July 29, 2024

OK, got this working for the 'create' task, I'll move on to the 'update' task next. README has also been updated.

from islandora_workbench.

mjordan avatar mjordan commented on July 29, 2024

from islandora_workbench.

mjordan avatar mjordan commented on July 29, 2024

@seth-shaw-unlv this is working but needs some testing for the various cardinalities. I'll do that over the weekend and then hand it over to you for some smoketesting.

from islandora_workbench.

mjordan avatar mjordan commented on July 29, 2024

795da71 in the issue-20 branch adds create and update support for cardinalities of unlimited, 1, and between 1 and unlimited. Note: We do not yet validate the CSV values for fields of this type. I've opened a separate issue for this at #41.

from islandora_workbench.

mjordan avatar mjordan commented on July 29, 2024

I've merged the issue-20 branch into master, but if you can do some smoke tests I'd appreciate it. No sweat if you don't have time, I've tested it fairly thoroughly and we can address any issues that come up later.

from islandora_workbench.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.