Giter VIP home page Giter VIP logo

Comments (4)

phiweger avatar phiweger commented on May 26, 2024

I'd be more explicit, like db:primkey.

The schema could then naturally reside in db:schema.

db:ident would probably be a bit confusing, because it is more of an alias of a primary key than a primary key, isn't it? I wrapped my head around this having gone through a lot of Datomic docs, but coming from bioinformatics, I was initially confused about db:ident.

from tripl.

metasoarous avatar metasoarous commented on May 26, 2024

I would expect db:primkey to point to the attribute that defines the primary key.

In Datomic db:ident is sort of like an alias for db:id (the true primary key), but it makes things so that you can use the ident (attribute name, enum reference, etc) as though it was the id. To some extent then, db:id is the most natural translation into our setting, since it's the name of the primary key for Datomic. But since our primary ids are strings (typically of uuids), we can use them like idents by just using namespaced keywords instead. So they can also sort of behave like idents. Also, it may be confusing if db:id is an integer id in one setting, and some random string in another (for folks also using Datomic), while it would be possible to literally translate all tripl db:ident values into Datomic db/ident keywords, so there could be some shared meaning there.

from tripl.

phiweger avatar phiweger commented on May 26, 2024

What's an enum reference?

You make some valid points. I think in this light I would feel comfortable sticking to db:ident, especially because of the 1:1 mapping to Datomic. Moreover, in the docs on identity we could just link the Datomic docs, time saved ;)

from tripl.

metasoarous avatar metasoarous commented on May 26, 2024

An enum as in the traditional SQL sense. Just some enumerated set of named values. In datomic it's basically anything with an ident, and the ident basically is the "name" of the value as an entity. I probably should have said enum entity, rather than enum reference though, as this is more accurate.

Yeah; That was my inclination. And keep in mind that the ident could then be even a url. So ident (identity) is this sort of metanotion to that of the uri, from a data perspective; it lets us be a little more general about the notion of identity. Seems fair enough to me, but I could also see an argument for something like tripl:eid or, or some such, that clarified that this is something specific to tripl, and the very distilled essence of the overarching ideas that we want to emphasize for our skittish bioinformatics audience :-P The bottom line being, we should be able to present a very limited, clear, cohesive and sane schema and stick with it, so all of these th9ings feel like they "belong" together. I don't intend us to put a final seal on this immediately, but it's something we need to be thinking towards.

from tripl.

Related Issues (9)

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.