[osis-core] schema 1.1_003 bug

Steve DeRose osis-core@bibletechnologieswg.org
Wed, 21 Aug 2002 15:25:24 -0400


Never mind comments below -- just found later mail suggesting this is 
already solved.

At 03:27 PM -0600 08/20/02, Todd Tillinghast wrote:
>Patrick,
>
><snip>
>
>
>>  Comments on my earlier post about merging refSystem/refSystems with
>>  work/works?
>
>I think that a reference system can be declared alone but a work MUST
>ALWAYS declare a reference system for the purposes of creating
>references and self-identifiers.

A *work* must (unless we provide a default, of course) -- but a 
*declaration of a work* is not the same thing. So declaring a work in 
the header does not mean you must declare a reference system for it 
in the header -- indeed doing so would be a somewhat dangerous kind 
of data de-normalization: since you could decide from the header that 
a certain edition supported a certain refsys, and when you got there, 
you discovered it doesn't.

>
>Since it is likely that many works declared in a single document will
>share the same reference system and because the information that defines
>a refence system is different in many cases than that of the work even
>thought the data structures may be the same, it makes since to declare
>separately reference systems and works and have works refer to their
>reference system.
>
>(The reference system might be declared by one party and the work is
>from another.)

Agreed; I just don't think it's crucial to point from the 
*declaration* of a work, to its refsystems. It might be a nice hint 
to support, like #pragma.

>
>It also makes sense to allow a work to declare in a single attribute
>that it is its own reference system.  If no such declaration is made
>then it must refer to reference system declared in the same header.

Do you mean, a way to declare that it's reference system (or at 
least, *one* of its reference systems) has the same short name as the 
version? That may prove common, but it's not technically speaking the 
same as saying the work *is* its own reference system. The most 
obvious difference is that the work is expressed as a file that 
conforms to the OSIS core schema (or something like that), while the 
reference system is expressed as a file that conforms to a 
(to-be-written) schema that tells us things like normative book 
names, chapter numbers, etc., mapping to our base reference system, 
etc. 2 quite different objects even if we call them both (say) "KJV"; 
and which one you fetch depends on which kind of thing you need at a 
given moment. Another reason to keep them separate.

>
>Also, I am not sure that the structures for reference systems and works
>are really the same.  Based on discussions dating back to January, it
>seems that reference systems will likely "derive" from other reference
>systems.  As a result it seems that the structures will differ here as
>well as the fact that a work must state the reference system it is
>using.  (Some of this was deferred until after this version, BUT by
>merging the two concepts we will cause trouble for ourselves later on.)

If you mean the structures of the document which expresses ("is") a 
work, or expresses ("is") a refsys, yes, they are totally different. 
But both are documents, so you can refer to either via the DC 
metadata (just as they could both be given ISBNs if we were doing 
this all on paper).

>
>There is a convience gained by putting these two beasts in the same pot
>because of the cases where a single element plays both roles.
>Example:
><refSystemsAndWorks>
>	<refSystem name="Bible.KJV">...</refSystem>
>	<work name="Bible.TEV" referenceSystem="Bible.KJV">...</work>
>	<refSystem name="Bible.French">...</refSystem>
>	<work name="Bible.Unusual" referenceSystem="SELF ">...</work>
>	<work name="TomSawyer.TheAdventuresOfHuckFin"
>referenceSystem="SELF">...</work>
></refSystemsAndWorks>
>
>With the following reference would be valid.
>Bible.KJV:Ps.55.11
>Bible.Unusual:X.Y.133.2323
>Bible.Unusual(Bible.Unusual):X.Y.133.2323
>TomSawyer.TheAdventuresOfHuckFin:1.3.2

I don't see the advantage here -- are you arguing that

refsystemsAndWorks
    refSystem
    work

is better than

refSystems
    refSystem
Works
    work

? There's clealry no functionality difference; I think its debatable 
how close the correspondence of refsystems and works will be -- i 
think we'll end up with a very much smaller set of reference systems 
than works.

For example, the dozen or so different dialect and yearly-update 
versions of the NIV will likely have exactly the same reference 
system; and since we've decided that compound units like Matt.1.1-3 
get a list of their components, the fact that translations differ in 
what they group doesn't necessitate extra refsystems either. Likewise 
for split verses like Matt.1.1[a], since the [a] is treated as a 
component outside the scope of the reference system proper.

>But
>Bible.TEV:Ps.55.11 would not be valid unless the following line as
>ADDED.
>
><refSystem name="Bible.TEV">...</refSystem>
>
>
>
>We have not discussed for some time the use of a namespace alias
>strategy (frNASB=Bible.French(Bible.NASB)) so that we could simply say
>in an osisID frNASB:Ps.55.1 rather than the expanded form. 
>
>Earlier discussion included something like the following.
>
><refSystem name="Bible.French" alias="french">...</refSystem>
><work name="Bible.TEV" referenceSystem="Bible.KJV"
>alias="tev">...</work>
>
>Making tev:Ps.55.11 equavelent to Bible.KJV(Bible.TEV):Ps.55.11
>
><snip>
>
>Conclusion:  I think we should leave the two structures disctinct and
>that work is missing a refSystem attribute.  But if we want to put all
>of the reference system elements and work elements under the same parent
>that seems like a good idea espically if a work element can be both a
>reference system as well as a work.

I also think they should be distinct. I don't mind adding a refSystem 
attribute (actually, it should be able to be a list, since a work may 
support several directly), as long as we note that just saying a work 
supports some system doesn't magically make it do so. I prefer not 
intermixining work and refSystem dcls, because I believe they are in 
principle different things.

>
>Possibly we should go back and reread the earlier discussion on this
>same topic.  We tossed a bunch of stuff when we adopted the TEI form and
>now it seems we are reintroducing some things we already worked on.
>
>Todd


-- 

Steve DeRose -- http://www.stg.brown.edu/~sjd
Chair, Bible Technologies Group -- http://www.bibletechnologies.net
Email: sderose@speakeasy.net
Backup email: sjd@stg.brown.edu