[sword-devel] Morphology codes relation
Troy A. Griffitts
scribe at crosswire.org
Sat Feb 20 09:02:22 MST 2010
This thread might take a little time to get a full answer from Chris as
he is GETTING MARRIED this week and might be a little preoccupied for a
while.
But what I know is:
Strongs numbers above the standard max number were added as a system
created in the OLB era and are verb parse codes. I think just maybe we
might have created a module a long while ago to give a basic parse code
for each of these, but I really don't remember. It would have been made
by Chris, so we'll have to wait a bit to find out.
Daniel Owens wrote:
> I am active (sometimes) at openscriptures.org, especially working on the
> MorphHB. We plan to tag it morphologically, but I don't expect we will
> use codes like those in the KJV. I have no idea what they stand for, and
> I have no idea where they come from.
>
> Looking at kjvfull.xml from CrossWire, I see that there are morphology
> codes like this: morph="strongMorph:TH8804", but a quick look at Genesis
> 1:1-2 suggest that they are only attached to verbs. If they stand for
> something meaningful, which is a reasonable assumption, you could likely
> get someone to go through and try to guess what they stand for by
> comparing Hebrew words with the same code and then create a morphology
> module from that, but that would take time. I wonder if DM has any idea
> where these come from. He is the last to work on the KJV module.
>
> Daniel
>
> On 2/19/2010 11:49 PM, Nic Carter wrote:
>> Hi Manfred,
>>
>> I'm curious as to what module you are using to look up these keys?
>> I'm under the understanding that looking up values like "TH8804" won't
>> return a valid result, as we don't have a lexicon containing these keys?
>>
>> I'm using this forum thread to justify my answer:
>> http://www.crosswire.org/forums/mvnforum/viewthread_thread,772
>>
>> On this note, I'm going to show an error message in PocketSword when
>> someone tries to look up one of these Morphology codes, and the error
>> message will be:
>>
>> "Unfortunately, Morphological Analysis Codes are only currently
>> available for Greek words. If you have the language ability and are
>> willing to help bring this feature to PocketSword, please take a look
>> at<br /> openscriptures.org<br />and join the discussion group there."
>>
>> Is anyone who is active with openscriptures.org able to comment on
>> this? :) I don't want to use this text if it's not correct, but if
>> I'm able to refer some possible volunteers to help with the work
>> there, I'm hoping that would be constructive? :)
>>
>> Thanks all, ybic
>> nic... :)
>>
>> ps: Manfred, I'll check in my code to SVN later today& you can check
>> out how I'm going to do Morph stuff. :)
>>
>> pps: Thanks for your reply, Troy, it helps with what I'm doing :)
>>
>> ----
>> Nic Carter
>> PocketSword Developer - an iPhone Bible Study app
>> http://crosswire.org/pocketsword
>> http://itunes.apple.com/app/Pocketsword/id341046078
>>
>> On 18/02/2010, at 11:05 PM, Manfred Bergmann wrote:
>>
>>
>>> Hi guys.
>>>
>>> Now, I stumbled over an issue regarding morphs while working on
>>> MacSword:
>>>
>>> The morph value code in the link URL data is something like this:
>>> value=TH8804
>>> When I set this as a key in SWModule with setKey() the correlating
>>> text is:
>>> "Part of speech: pronoun, relative Case: nominative Number: singular
>>> Gender: masculine"
>>>
>>> In the Packard module when I do an index search for this I get:
>>> Ra Nsm:
>>> Part of speech: pronoun, relative Case: nominative Number: singular
>>> Gender: masculine
>>> Rd Nsm:
>>> Part of speech: pronoun, relative Case: nominative Number: singular
>>> Gender: masculine
>>> Ri Nsm:
>>> Part of speech: pronoun, relative Case: nominative Number: singular
>>> Gender: masculine
>>> Rp Nsm:
>>> Part of speech: pronoun, relative Case: nominative Number: singular
>>> Gender: masculine
>>> Rr Nsm:
>>> Part of speech: pronoun, relative Case: nominative Number: singular
>>> Gender: masculine
>>> Rx Nsm:
>>> Part of speech: pronoun, relative Case: nominative Number: singular
>>> Gender: masculine
>>>
>>> Those "Rs Nsm" etc. kind of codes are in fact the keys that we
>>> collect in order to display them as a table of content for the user
>>> to choose from or click on in the a dictionary view.
>>> Now the problem is that I can't actually find a relation other than
>>> the text itself of the key ("Ra Nsm") for the morph code of TH8804.
>>> How do I get to "Ra Nsm" etc. for a code of TH8804 via SWORD API?
>>>
>>>
>>>
>>> Cheers,
>>> Manfred
>>>
>>>
>>> Am 17.02.2010 um 18:13 schrieb Troy A. Griffitts:
>>>
>>>
>>>> Nic,
>>>>
>>>> There are currently 2 primary ways frontends have implemented
>>>> strongs/morph functionality:
>>>>
>>>> 1) show the numbers in the text as clickable links;
>>>> 2) have the word itself be a clickable link which has both
>>>> strongs/morph/other data attached.
>>>>
>>>> These 2 methods usually dictate, at a lower level, 2 different methods:
>>>>
>>>> 1) have the lookup information embedded directly in the link, e.g.,
>>>> action=showMorph&type=Greek&value=5589
>>>>
>>>> 2) have the word id embedded in the link, and then do an entry
>>>> attributes lookup to obtain the relevant information, e.g.,
>>>>
>>>> <span onclick="showWordData(1)">In</span>
>>>>
>>>> To see the data you can obtain from entry attributes once you have
>>>> the word id, have a look at sword/examples/cmdline/lookup, e.g.,
>>>>
>>>> ./lookup KJV jn.1.1
>>>>
>>>>
>>>> Basically, what it comes down to is WHERE you want the work to
>>>> happen. All of this information comes out of entry attributes at
>>>> some point: either the filter obtains it and puts it in the link, or
>>>> your app obtains it and does what it sees fit with it.
>>>>
>>>> You can see code which implement the lemma/morph/interlinear lookups
>>>> in a filter, located under
>>>> sword/bindings/corba/orbitcpp/webmgr.hpp. This Word Javascript
>>>> filter set does the lookup from entry attributes and adds a tag
>>>> around words with linguistic markup. Here is the pertinent line of
>>>> code from the filter:
>>>>
>>>> text.appendFormatted("<span class=\"clk\"
>>>> onclick=\"p('%s','%s','%s','%s','%s','%s');\">", lexName.c_str(),
>>>> lemma.c_str(), wordID.c_str(), morph.c_str(), page.c_str(),
>>>> modName.c_str());
>>>>
>>>> This is how swordweb does word-click lookups and shows strongs,
>>>> morph, interlinear data, etc. (page, is the image page number for
>>>> the Tregelles GNT scans).
>>>>
>>>> I know this doesn't answer all of your questions, but hope it gets
>>>> you started.
>>>>
>>>> Troy.
>>>>
>>>>
>>>> Nic Carter wrote:
>>>>
>>>>> Hi team :)
>>>>> I'm currently implementing morphology tags at the same time as
>>>>> Strong's in PocketSword& I have a question about the HTML filters.
>>>>> for THML (thmlhtmlhref.cpp)
>>>>> we have "passagestudy.jsp?action=showMorph&type=Greek&value=%s"
>>>>> (line 178)
>>>>> so, the "type" is hardcoded to "Greek".
>>>>> for GBF (gbfhtmlhref.cpp)
>>>>> we have "passagestudy.jsp?action=showMorph&type=Greek&value="
>>>>> (line 207)
>>>>> so, the "type" is hardcoded to "Greek".
>>>>> for OSIS (the one we're mostly interested in now-a-days:
>>>>> osishtmlhref.cpp)
>>>>> we have "passagestudy.jsp?action=showMorph&type=%s&value=%s"
>>>>> (line 150)
>>>>> so, the "type" is variable, with an example from the KJV being:
>>>>> "passagestudy.jsp?action=showMorph&type=robinson%3AN-ASN&value=N-ASN"
>>>>> [note: %3A is the URL encoding of the ":" character, as this is
>>>>> coming from the OSIS w tag, where morph="robinson:N-ASN" is found,
>>>>> so we are simply passing through the "morph" attribute to the
>>>>> "type" attribute in this html link, after running it through
>>>>> URL::encode().]
>>>>> http://www.crosswire.org/wiki/OSIS_Bibles#Marking_with_Morphology
>>>>> is also a good place to read up on this, from an OSIS point of view.
>>>>> http://n4.nabble.com/new-morphology-td354696.html#a354696 has a
>>>>> previous thread about Morphology tags
>>>>> http://n4.nabble.com/KJV-OT-morphology-td351093.html#a351093
>>>>> mentions OT Morph tags& how they were broken back then (are they
>>>>> still? if the situation is still the same today, then that may
>>>>> help answer question #1& some of #2!)
>>>>> http://n4.nabble.com/Fwd-GnomeSword-developers-Hebrew-WLC-Text-with-Strongs-numbers-and-Morphology-td358831.html#a358831
>>>>> mentions that there was no Hebrew Morphological Analysis Codes
>>>>> module as of March 2009, is that still the case? (that may also
>>>>> help answer question #1?)
>>>>> Given all of the above:
>>>>> 1) do we only support Morphology of Greek words? Looking in the
>>>>> KJV (OSIS), it seems they appear in the OT (hence, also for Hebrew
>>>>> words), and the "type" attribute is "strongMorph". For example,
>>>>> "passagestudy.jsp?action=showMorph&type=strongMorph%3ATH8804&value=TH8804"
>>>>> from Micah 1:16 (from the word "captivity", with the Strong's
>>>>> Hebrew Number of 01540).
>>>>> 2) should the OSIS version, above, have the "type" attribute
>>>>> actually being "robinson" (in the KJV example above) rather than
>>>>> "robinson%3AN-ASN"? or should it instead be hard-coded to be
>>>>> "Greek" like with the THML& GBF versions? I'm assuming it should
>>>>> be "robinson", given that's what the OSIS module says... so I'm
>>>>> guessing that the "strongMorph", found in question #1 is actually
>>>>> referring to a non-public (or non-existing?) module that has the
>>>>> Hebrew Morphology.
>>>>> 3) do other front-ends simply assume that we only call the
>>>>> "showMorph" action on Greek words& hence ignore the "type"
>>>>> attribute? Or do they (as I am currently thinking of doing) treat
>>>>> "Greek" to use a module with "Feature=GreekParse"& showMorph
>>>>> actions that start with "robinson" or "packard" to also be Greek&
>>>>> anything else to be Hebrew? Or do they treat "Greek" as Greek&
>>>>> anything else they parse the "type" attribute until they get to the
>>>>> ":"& then try to use that module, falling back to an error
>>>>> dialogue if that module isn't installed?
>>>>> 4) I am assuming that any module with "Feature=GreekParse" in it is
>>>>> able to handle Greek Morphology codes, so when we encounter a
>>>>> "showMorph" with a "type" containing "robinson", do we NEED to use
>>>>> the "robinson" module (which is the technically correct thing to
>>>>> do) or can I allow the user to select any module they have
>>>>> installed which has the "GreekParse" feature in it (the same as we
>>>>> do with Strong's Numbers)? But, then, linking with question #1,
>>>>> there is no equivalent for "Feature=HebrewParse"? at least, I
>>>>> can't find any modules from the CrossWire or CrossWire Beta repos
>>>>> with that in it?
>>>>> ok, I think that's about it! I enjoy trying to figure out fun
>>>>> SWORD things (well, now I do -- at first it was overwhelming, but I
>>>>> was learning the SWORD APIs& the CocoaTouch APIs& Obj-C all at
>>>>> the same time!), but I'd love clarification on this before I code
>>>>> it :)
>>>>> Thanks heaps for even reading this far. If you have read this far
>>>>> and can actually understand it all, you deserve a medal& you're
>>>>> probably also equipped enough to answer all my questions! ;) :)
>>>>> ybic
>>>>> nic... :)
>>>>> ----
>>>>> Nic Carter
>>>>> PocketSword Developer - an iPhone Bible Study app
>>>>> http://crosswire.org/pocketsword
>>>>> _______________________________________________
>>>>> sword-devel mailing list: sword-devel at crosswire.org
>>>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>>>> Instructions to unsubscribe/change your settings at above page
>>>>>
>>>>
>>>> _______________________________________________
>>>> sword-devel mailing list: sword-devel at crosswire.org
>>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>>> Instructions to unsubscribe/change your settings at above page
>>>>
>>>
>>> _______________________________________________
>>> sword-devel mailing list: sword-devel at crosswire.org
>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>> Instructions to unsubscribe/change your settings at above page
>>>
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>>
>>
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
More information about the sword-devel
mailing list