Version 1 (modified by jbourne, 16 years ago) |
---|
TracNav menu
-
IDS-ADI Projects:
- ISO 15926 Primer
- ISO15926 Standard Structure
- IDS-ADI Coordination Structure
- IDS-ADI Infrastructure
- The AVALON Project
- Core Modelers Projects
- Core Implementers Projects
- Core Compliance Project
- Core Methodology Project
- IDS-ADI Matrix Master (login)
- IDS-ADI Matrix 1,2,3 activity
- IDS-ADI Matrix 4 activity
- IDS-ADI Matrix 8 activity
- IDS-ADI Part3 Harmonization
- IDS-ADI BIDG (aka Handover Guide)
- IDS-ADI Proteus Project
RDS/WIP Identifier Generator
There has long been a need for an identifier generator in this project, and so we now have an experimental one.
Features
- Allocates identifiers in a given name space (you supply the base URI).
- All identifiers are stored in their name space in a single triplestore.
- All identifiers have the form RNNNNNN where NNNNNN are digits and R is literal.
- NNNNNN will never start with a zero.
- NNNNNN will never contain a sequence NNN of three of the same digits.
- NNNNNN will never contain any digit more than three times.
- Results in 862407 possible identifiers from R100000 to R999999.
- NNNNNN is allocated with a strong random number generator (PRNG seeded from an RNG).
- There is intentionally no support for allocating "sequences" of identifiers.
- There is intentionally no support for allocating "bulk" identifiers.
Principles
- No one can choose their identifier.
- No one can inadvertently create implicit knowledge by "owning" a block of identifiers - knowledge should be explicit, reservation blocks denied.
- No one can create "de facto" maps by allocating sequences that relate to other existing identifiers (again, to avoid creating implicit knowledge).
- Identifiers are of the same length (at least until "slots" become too sparse to find quickly, which will likely happen when its about 80% full).
Governance
- Any abuse of the system (ie. trying to circumvent the principles) should result in suspension of the service for the offending user.
Agenda
- Need to apply authentication/authorization (very quick to do).
- Need to decide on a registry namespace & properties.
- Need to decide if we record the allocater's user id and date.