示例#1
0
    def load_data_to_mongodb(author_name):
        """
        Method to build a MongoDB database by retrieving the author and publication data from IEEE and ORCID websites
        
        * author_name - the starting point from which the data retrieval starts
        """

        if AuthorLoad.find_in_author_search_list(author_name) != 0:
            return 0
        else:
            print 'Authors Count: {0}'.format(AuthorLoad.find_authors_count())
            LoadToMongoDB.search_author_name_and_load_to_mongodb(author_name)
            print 'Authors Count: {0}'.format(AuthorLoad.find_authors_count())

            while AuthorLoad.find_authors_count() < constants[
                    'retrieve_authors_upto_count'] and PublicationLoad.find_unsearched_publications_count(
                    ) > 0:
                publication = PublicationLoad.find_unsearched_publication()
                if publication is not None:
                    PublicationLoad.update_publication_as_searched(publication)
                    for author in publication['authors']:
                        LoadToMongoDB.search_author_name_and_load_to_mongodb(
                            author)
                print 'Authors Count: {0}'.format(
                    AuthorLoad.find_authors_count())
            return 1
示例#2
0
 def search_author_name_and_load_to_mongodb(author_name):
     """
     Method to save to MongoDB database all the authors and their works having name similar to given author_name
     """
     
     if AuthorLoad.find_in_author_search_list(author_name) == 0:
         AuthorLoad.save_to_author_search_list(author_name)
         orcid_author_search_results = ORCID_Parser.orcid_author_search_parser(author_name)
         AuthorLoad.save_authors_list(orcid_author_search_results)
     
         while AuthorLoad.find_unsearched_authors_count() > 0:
             author = AuthorLoad.find_unsearched_author()
             if author is not None:
                 AuthorLoad.update_author_as_searched(author)
                 orcid_author_works_get_results = ORCID_Parser.orcid_author_works_get_parser(author['orcid'])
                 PublicationLoad.save_publications_list(orcid_author_works_get_results['works'], orcid_author_works_get_results['orcid'])
示例#3
0
 def load_data_to_neo4j():
     """
     Method to build a Neo4j database by retrieving the author and publication data from MongoDB
     """
     
     authors = MongoGetAuthors.get_all_authors()
     AuthorLoad.save_authors_list(authors)
     
     publications = MongoGetPublications.get_all_publications()
     PublicationLoad.save_publications_list(publications)
     
     RelationshipLoad.save_authored_relationships()
示例#4
0
 def load_data_to_mongodb(author_name):
     """
     Method to build a MongoDB database by retrieving the author and publication data from IEEE and ORCID websites
     
     * author_name - the starting point from which the data retrieval starts
     """
     
     if AuthorLoad.find_in_author_search_list(author_name) != 0:
         return 0
     else:
         print 'Authors Count: {0}'.format(AuthorLoad.find_authors_count())
         LoadToMongoDB.search_author_name_and_load_to_mongodb(author_name)
         print 'Authors Count: {0}'.format(AuthorLoad.find_authors_count())
         
         while AuthorLoad.find_authors_count() < constants['retrieve_authors_upto_count'] and PublicationLoad.find_unsearched_publications_count() > 0:
             publication = PublicationLoad.find_unsearched_publication()
             if publication is not None:
                 PublicationLoad.update_publication_as_searched(publication)
                 for author in publication['authors']:
                     LoadToMongoDB.search_author_name_and_load_to_mongodb(author)
             print 'Authors Count: {0}'.format(AuthorLoad.find_authors_count())
         return 1
示例#5
0
    def search_author_name_and_load_to_mongodb(author_name):
        """
        Method to save to MongoDB database all the authors and their works having name similar to given author_name
        """

        if AuthorLoad.find_in_author_search_list(author_name) == 0:
            AuthorLoad.save_to_author_search_list(author_name)
            orcid_author_search_results = ORCID_Parser.orcid_author_search_parser(
                author_name)
            AuthorLoad.save_authors_list(orcid_author_search_results)

            while AuthorLoad.find_unsearched_authors_count() > 0:
                author = AuthorLoad.find_unsearched_author()
                if author is not None:
                    AuthorLoad.update_author_as_searched(author)
                    orcid_author_works_get_results = ORCID_Parser.orcid_author_works_get_parser(
                        author['orcid'])
                    PublicationLoad.save_publications_list(
                        orcid_author_works_get_results['works'],
                        orcid_author_works_get_results['orcid'])