Comments (4)
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.
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.
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.
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)
- tripl/tripl.py", line 586, in _entity_lookup - AttributeError: 'NoneType' object has no attribute 'keys' HOT 3
- Assert by reverse lookup attribute
- Clarify output formats in documentation
- Add documentation specific to bioinformatic uses
- Build out the bio namespace
- Document entity API
- Integrate with GraphQL via pull HOT 2
- namespaced/keywords instead of namespaced:keywords HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tripl.