package Ġcom . eg m . st elli o . entity . service Ċ Ċ import Ġcom . eg m . st elli o . entity . model .* Ċ import Ġcom . eg m . st elli o . entity . repository . Neo 4 j Repository Ċ import Ġcom . eg m . st elli o . shared . util . Json Ld Utils . compact Term Ċ import Ġcom . eg m . st elli o . shared . util . to Uri Ċ import Ġorg . springframework . stereotype . Component Ċ Ċ @ Component Ċ class ĠAttribute Service ( ĊĠĠĠ Ġprivate Ġval Ġne o 4 j Repository : ĠNeo 4 j Repository Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġget Attribute List ( contexts : ĠList < String >): ĠAttribute List Ġ= ĊĠĠĠĠĠĠĠ ĠAttribute List ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattribute List Ġ= Ġne o 4 j Repository . getAttributes (). map Ġ{ Ġcompact Term ( it , Ġcontexts ) Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġget Attribute Details ( contexts : ĠList < String >): ĠList < Attribute Details > Ġ= ĊĠĠĠĠĠĠĠ Ġne o 4 j Repository . getAttributes Details (). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġattribute Ġ= Ġ( it [" attribute "] Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAttribute Details ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġattribute . to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattribute Name Ġ= Ġcompact Term ( attribute , Ġcontexts ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Names Ġ= Ġ( it [" type Names "] Ġas ĠSet < String >). toList (). map Ġ{ Ġcompact Term ( it , Ġcontexts ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Attribute TypeInfo ( expanded Type : ĠString ): ĠAttribute TypeInfo ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġattributes Information Ġ= Ġne o 4 j Repository . getAttribute Information ( expanded Type ) ĊĠĠĠĠĠĠĠ Ġif Ġ( attributes Information . isEmpty ()) Ġreturn Ġnull ĊĊĠĠĠĠĠĠĠ Ġreturn ĠAttribute TypeInfo ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġexpanded Type . to Uri (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattribute Name Ġ= Ġattributes Information [" attribute Name "] Ġas ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattribute Types Ġ= Ġattributes Information [" attribute Types "] Ġas ĠList < String >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Names Ġ= Ġattributes Information [" type Names "] Ġas ĠList < String >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattribute Count Ġ= Ġattributes Information [" attribute Count "] Ġas ĠInt ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ