Coder Social home page Coder Social logo

datajoint-docs-original's People

Contributors

austin-hilberg avatar cbroz1 avatar dimitri-yatsenko avatar ernaldis avatar eywalker avatar guzman-raphael avatar ixcat avatar jakereimer avatar jverswijver avatar kabilar avatar mahos avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

datajoint-docs-original's Issues

Add sections on GUIs to "Inputs and outputs"

  • Describe the use of Navicat, HeidiSQL
  • Describe the use an deployment of Helium, add references and example.
  • Describe the use of LIMS and mLIMS in particular, add references.

Follow trademarks

Docker should be capitalized. MATLAB should be in all caps. Python should be capitalized.

Part table example in documentation missing `SetAccess=protected`

The issue was reported by @mjlm originally in datajoint/datajoint-matlab#114

On my system, the part table example given in the documentation (here) lacks a (SetAccess=protected), causing Matlab to throw this error:

The definition of property 'master' in class 'test.SegmentationROI ' differs
from its definition in the superclass 'dj.Part'. This is caused by either
conflicting access permissions or differing values of the Constant attribute.
The error is fixed by adding (SetAccess=protected) to the properties section:

classdef SegmentationROI < dj.Part
    properties(SetAccess=protected)
        master = test.Segmentation
    end
    methods
        function makeTuples(self, key)
            image = fetch1(test.Image & key, 'image');
            [roi_pixels, roi_weighs] = mylib.segment(image);
            for roi=1:length(roi_pixels)
                tuple = key;
                tuple.roi_pixels = roi_pixels{roi};
                tuple.roi_weights = roi_weights{roi};
                self.insert(tuple)
            end
        end
    end
end

Provide examples of normalizing entities.

Describe examples of poorly normalized designs and show how they can be normalized.

  1. Secondary attributes that do not directly apply to entity of the set --> extract into separate entity set.
  2. Repeated attributes --> Separate entity set
  3. E.g. Mouse death does not belong in Mouse.
  4. Optional attributes broken into separate entity sets.
  5. Specialization pattern: common attributes in a table and special attributes in dependent specialization tables.

Explain the use of `key_source`

Doc is missing a good explanation the concept of key_source all together. Should cover the following cases:

  1. Discuss what is the default key_source equivalent to
  2. Discuss how this can be modified/overridden by using either
key_source = table1 * tabel2

or

@property
def key_source(self):
    # allows for more complex operations to arrive at the key_source
    return table1 * table2

Add another example in the section Foreign key about potential error

-> A
---
(x1, y1) -> B(x, y)

If B contains another attribute z in the primary key, and z is not part of the primary key attributes in A, it will throw an error. To include this extra attribute z, we would have to say (x1, y1, z) -> B(x, y, z), or rename it such as(x1, y1, z1) -> B(x, y, z)

Make chapters in PDF

Currently, the PDF renders sections as chapters (60 chapters!) and does not reflect the high-level organization: Introduction, Server Administration, Client Setup, ...

Please modify the PDF rendering to include the high-level organization.

Create ref tags for "chapter" levels.

References should be allowed to the entire chapter rather than to the individual sections. E.g. Input/Output line 61 should point to Queries rather than queries/01-Queries.rst.

provide general 'how does datajoint compare to <X>'

a good clarifying pointer for people comparison shopping between various systems, software, etc.

thinking X might be best addressed categorically with examples

such as:

how does datajoint compare to a Laboratory Information System (LIMS, e.g: Alyx, mLIMS, etc)

and:

how does datajoint compare to a Object Relational Mapper (ORM, e.g: Django ORM, SQLAlchemy, etc)

and so on..

Describe special cases in restrictions

Describe what should happen when restricting by an empty table, an empty collection, or an empty AndList:

tab - []
tab & []
tab - AndList([])
tab & AndList([])

Describe what happens when restricting by a dict with no common attributes.

tab & {'one': 1}
tab - {}

Describe what happens when restricting by a query expression that has no common attributes with tab.

tab & expr

fetch: topic coverage inconsistent btw/python matlab in split vers (order by, etc)

Fetch documentation in split version doesn't cover 'order by' in python;
more generally, the coverage of fetch is more in depth on the matlab side.

while some features are language specific, general topic coverage applicable to both should be consistent (inc. 'order by')

matlab current topics in fetch page:

  • fetch
  • fetch1
  • fetch key
  • fetch entire result
  • fetch as separate variables
  • pkey with values
  • renaming fetches
  • order-by / sort / limit

python current topics in fetch page:

  • fetch
  • fetch entire result
  • fetch as separate variables
  • fetch primary key
  • usage with pandas (python specific)

ideally, the general structure should match for both and coverage should be similar to resolve this issue

Discussion of attribute definition with default value should include NULL

Currently the documentation doesn't make it obvious what values are allowed as the value for the default value setting syntax (i.e. attr1 = "val"). A few concrete examples for different data types along with a specific explanation for NULL as a default value and its interpretation (i.e. basically, an optional attribute), should be mentioned.

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.