Ho to get plain names of literal values for traits

Hi guys,

I’ve been using eolv3 to get trait names from taxa. I wonder if getting plain names of literal values in traits is possible. Look at this example:

MATCH (trait:Trait)<-[:trait]-(page:Page),
   (trait)-[:predicate]->(pred:Term)
WHERE pred.name = "trophic guild"
RETURN trait
LIMIT 1

as a result, we get:

{
   "data": {
      "eol_pk": "R838-PK292178999",
      "resource_pk": "fe1fa4dd29721444fb7f1f4bd95a8e24_natdb",
      "scientific_name": "Tylosurus choram",
      "remarks":"Planktotrophic. id:198;Super_class:osteichthyen;Order:Beloniformes;Family:Belonidae;Genus:Tylosorus.",
      "literal": "http://eol.org/schema/terms/planktotrophic"
   },
   "metadata": {
      "id": 22901707
    }
}

Wher we have values that refer to URLs of the sources, like

['http://eol.org/schema/terms/planktotrophic',
'http://www.wikidata.org/entity/Q677088',
'http://www.wikidata.org/entity/Q12806437',
'http://eol.org/schema/terms/lecithotrophic',
'http://www.wikidata.org/entity/Q1420208']

Is there a way to translate them to plain names, such as pathogen, parasite, etc, without visiting the current source?

I’m sorry I didn’t find your question earlier, @tctp ! You’ve probably figured it out by now, but just in case, I think this query will include what you want in the case of categorical trait values:

MATCH (ob:Term)<-[:object_term]-(trait:Trait)<-[:trait]-(page:Page),
(trait)-[:predicate]->(pred:Term)
WHERE pred.name = “trophic guild”
RETURN trait, ob.name
LIMIT 1