[osis-core] references and self-ids Part 3 - Proposal

Todd Tillinghast osis-core@bibletechnologieswg.org
Thu, 11 Jul 2002 09:53:47 -0600



> -----Original Message-----
> From: owner-osis-core@bibletechnologieswg.org [mailto:owner-osis-
> core@bibletechnologieswg.org] On Behalf Of Harry Plantinga
> Sent: Thursday, July 11, 2002 9:02 AM
> To: osis-core@bibletechnologieswg.org
> Subject: Re: [osis-core] references and self-ids Part 3 - Proposal
> 
> 
> > > >3) I would like to propose that grain exist as an option for all
> > > >references AND self-ids.
> > >
> > > Why for self-ids? So far, grain has by definition meant a
> > > machine-processable pointer of finer granularity than identifiers
> > > could express. Surely it wouldn't make sense to tag points in the
> > > text as being "5 code points into the verse" or "the first match
of
> > > 'the' in the verse", would it? What sort of cases do you have in
mind?
> >
> > The primary case is when a verse is segmented.  If a verse is split
into
> > three pieces for example they should each have a unique id.  In the
> > examples of Matt.13 I have adopted a convention of having the first
> > piece carry the non-grain adorned reference (osisID="Matt.13.14").
The
> > second verse piece would have an id that includes a grain of some
form
> > (osisID=Matt.13.14@char:44(This)).  Naturally the next and prev
> > attributes would then include the appropriate and unique
identifiers.
> > This convention provides a reliable mechanism to match up the pieces
of
> > a segmented verse and also allows for the location of the start of
the
> > verse by the non-grain adorned identifier.
> 
> Couldn't the software compute this, just by adding up the code points
> of the previous segments? What information is gained by adding
@char:44?
> If the verse segment has a new osisID, that could be specified, but if
> it has the same osisID as the last segment, I don't see why you'd need
> to add any osisID at all.
> 
> -Harry
> 
> 
Consider the values of the osisID, prev, and next attributes of both the
segmented verses and quotes.

<p cite="Matt.13.11-Matt.13.13">
	<verse osisID="Matt.13.11" next="Matt.13.11">Jesus answered,
</verse>
		<q type="blockQuote" osisID="Matt.13.11"
next="Matt.13:14">
			<verse osisID="Matt.13.11" prev="Matt.13.11">The
knowledge about the secrets of the Kingdom of heaven has been given to
you, but not to them.</verse>
			<verse osisID="Matt.13.12">For the person who
has something will be given more, so that he will have more than enough;
but the person who has nothing will have taken away from him even the
little he has.</verse>
		<verse osisID="Matt.13.13">The reason I use parables in
talking to them is that they look, but do not see, and they listen, but
do not hear or understand.</verse>
		<verse osisID="Matt.13.14" next="Matt.13.14">So the
prophecy of Isaiah applies to them:</verse>
	</q>
</p>
<p>
	<q osisID="Matt.13.14" type="blockQuote" prev="Matt.13.11"
next="Matt.13.16">
		<q type="blockQuote">
			<lineGroup>
				<line><verse osisID="Matt.13.14"
prev="Matt.13.14">This people will listen and listen, but not
understand;</verse></line>
				<line><verse osisID="Matt.13.14"
prev="Matt.13.14">they will look and look, but not see,</verse></line>
				<line><verse osisID="Matt.13.15"
next="Matt.13.15">because their minds are dull,</verse></line>
				<line><verse osisID="Matt.13.15"
prev="Matt.13.15" next="Matt.13.15">and they have stopped up their
ears</verse></line>
				<line><verse osisID="Matt.13.15"
prev="Matt.13.15" next="Matt.13.15">and have closed their
eyes.</verse></line>
				<line><verse osisID="Matt.13.15"
prev="Matt.13.15" next="Matt.13.15">Otherwise, their eyes would
see,</verse></line>
				<line><verse osisID="Matt.13.15"
prev="Matt.13.15" next="Matt.13.15">their ears would
hear,</verse></line>
				<line><verse osisID="Matt.13.15"
prev="Matt.13.15" next="Matt.13.15">their minds would
understand,</verse></line>
				<line><verse osisID="Matt.13.15"
prev="Matt.13.15" next="Matt.13.15">and they would turn to me, says
God,</verse></line>
				<line><verse osisID="Matt.13.15"
prev="Matt.13.15">and I would heal them.</verse></line>
			</lineGroup>
		</q>
	</q>
</p>

The trouble is that without some sort of grain all of the identifiers
for prev, next are the same for a single verse.  Even though software
can determine which goes first and which goes next there would be
multiple matches for a search for "Matt.13.15".  It would seem to me
that you would want to find a single "Matt.13.15" verse element and
check to see if it has been segmented by checking for a next.  If the
desire is that all pieces of a verse be found when looking for
"Matt.13.15" then if they are encoded with a grain then you could simply
find all verses with an osisID that begins with "Matt.13.15@" or equal
to "Matt.13.15".  

 Conceptually, it does not make sense for more than one verse to an
identical osisID.

There is further benefit in that the only processing of segmented verses
will not be for the purpose of stepping from the first to the next in
sequential order.  Having an truly unique osisID for each verse element
allows for reliable pointing into the document.  Both pointing
unambiguously to the "head" of a segemented verse and pointing
unambiguously at a subsequent fragment.

The style of grain used should be left up to the encoder.  I prefer
@char due to its precision but others may prefer to number the pieces
sequentially (@enum or @seq) in order to simply make unique ids. 

Todd