namespace java eu.dnetlib.openaire.thrift // deposition struct Institution { 1: string id, 2: string name, 3: string shortName, 4: string url } struct Repository { 1: string url, 2: string name, 3: string institution, 4: string country, 5: i64 size, 6: i64 countDate } struct RepositoryFull { 1: string id, 2: string url, 3: string name, 4: string institution, 5: string country, 6: i64 size, 7: i64 countDate 8: string description, 9: string oaipmh, 10: string content, 11: string languages, 12: string policies } struct ProjectSummary { 1: string id, 2: string name, 3: string acronym, 4: string grantAgreementNumber } struct Project { 1: string id, 2: string name, 3: string acronym, 4: string grantAgreementNumber, 5: string call, 6: i64 startDate, 7: i64 endDate, 8: bool sc39, 9: string scientificArea, 10: string programme, 11: string coordinator } struct Publication { 1: string id, 2: map> urls, 3: list titles, 4: list authors, 5: list publicationYears, 6: list projects, 7: list descriptions } // statistics struct PublicationsByAccessMode { 1: string accessMode, 2: string name, 3: i64 publications } struct PublicationsByCategory { 1: string acronym, 2: string name, 3: i64 totalPublications, 4: i64 projects, 5: i64 openPublications, 6: double openPublicationsRatio } struct Statistics { 1: i64 totalPublications, 5: i64 sc39Projects, 6: double averagePublicationsPerProject, 7: double averagePublicationsPerYear } service OpenAIREConnector { // deposition list getRepositories(), list searchInstitutions(1: string term, 2: i32 limit), Institution getInstitution(1: string id), RepositoryFull getRepository(1: string id), list getInstitutionRepositories(1: string institution), list searchProjects(1: string term, 2: i32 limit), Project getProject(1: string id), list getProjectPublications(1: string project), // statistics Statistics getStatistics(), list getPublicationsByAccessMode(), list getPublicationsByProgramme(1: i32 limit), list getPublicationsByScientificArea(1: i32 limit), list getPublicationsByCountry(1: i32 limit), list getPublicationsByInstitution(1: i32 limit) }