java.lang.AssertionError
at org.junit.Assert.fail(Assert.java:92)
at org.junit.Assert.assertTrue(Assert.java:43)
at org.junit.Assert.assertTrue(Assert.java:54)
at TestGraphFunctions.testHypernyms(TestGraphFunctions.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
-----Original Message-----
From: Miller, Timothy [mailto:[email protected]]
Sent: Friday, January 29, 2016 1:09 PM
To: [email protected]
Subject: Re: umls graph api
I was using 2015AB. Can you copy/paste the error trace that junit gives you?
Thanks
Tim
On 01/29/2016 01:04 PM, Geise, Brandon D. wrote:
> Very cool.
>
> I started going through your instructions. Everything seemed to be working
> except for the GraphFunction Junit test fails on the first assertion. I'm
> using 2015AA and it doesn't appear that the isa relationship holds true,
> unless I messed something up. What UMLS version did you test with?
>
> Thanks,
> Brandon
>
> -----Original Message-----
> From: Miller, Timothy [mailto:[email protected]]
> Sent: Tuesday, January 26, 2016 2:59 PM
> To: [email protected]
> Subject: umls graph api
>
> I've been working on some code for easy querying of the UMLS relation graph
> that I think might be useful in ctakes. The repo is here:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_tmills_umls-2Dgraph-2Dapi&d=BQIFAg&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=Heup-IbsIg9Q1TPOylpP9FE4GTK-OqdTDRRNQXipowRLRjx0ibQrHEo8uYx6674h&m=VF6tEMHRXUuomFk3Rma04eOozJC4amQHvm7PfAsXqvw&s=J_kg_cPwEhOWJIDI06-lORddJf83jmbb_I-MwkC_3Zg&e=
>
>
> If you point it at your umls download you can build the db in about 5 minutes
> (45 MB). Then the API has a class GraphFunctions with the following methods:
>
> public static List<String> getHypernyms(String cui);
> public static List<String> getHyponyms(String cui);
> public static boolean isa(String cui1, String cui2);
>
> These make use of just the "isa" relation in the MRREL file, and could tell
> you, for example, that
>
> isa("C0007102", "C3662248") is true (colon cancer is a finding) but that
> isa("C3662248", "C0007102") is not true.
>
> If people find it useful enough we may wish to add it to ctakes and perhaps
> we could redistribute this view of the UMLS subject to the same username
> checking we do now for the dictionary. We may wish to include other relations
> and ontologies as well -- right now just SNOMED. But this is the skeleton and
> I think with this starting point adding new capabilities will be pretty easy.
>
> Tim
>
>
>
> IMPORTANT WARNING: The information in this message (and the documents
> attached to it, if any) is confidential and may be legally privileged. It is
> intended solely for the addressee. Access to this message by anyone else is
> unauthorized. If you are not the intended recipient, any disclosure, copying,
> distribution or any action taken, or omitted to be taken, in reliance on it
> is prohibited and may be unlawful. If you have received this message in
> error, please delete all electronic copies of this message (and the documents
> attached to it, if any), destroy any hard copies you may have created and
> notify me immediately by replying to this email. Thank you.
>
> Geisinger Health System utilizes an encryption process to safeguard Protected
> Health Information and other confidential data contained in external e-mail
> messages. If email is encrypted, the recipient will receive an e-mail
> instructing them to sign on to the Geisinger Health System Secure E-mail
> Message Center to retrieve the encrypted e-mail.
>