Version 3 (modified by jbourne, 16 years ago) |
---|
TracNav menu
-
RDS/WIP project
- RDS/WIP Introduction
-
RDS/WIP World View...
- RDS/WIP Sample Queries
- RDS/WIP Staging Diagrams
- RDS/WIP 1.0 Plan
- RDS/WIP 1.0 Testing
- RDS/WIP 1.0 Process
- RDS/WIP 1.0 Inventory
- RDS/WIP 2.0 Plan
- RDS/WIP ID Generator
- RDS/WIP Domain Proposal
- RDS/WIP Requirements Table
- RDS/WIP Use Case: Discrete Editing
- RDS/WIP Use Case: CSV Upload
- RDS/WIP 1.0 General Use Cases
- RDS/WIP 2.0 General Use Cases
- RDS/WIP ISO 15926 Template Definitions
- RDS/WIP OWL/RDF Definition
- RDS/WIP OWL/RDF Project Plan
- RDS/WIP Forums
-
External
- RDS/WIP Use Case: Bulk Upload
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 and revocation of the abusing allocations.
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.