Difference between revisions of "XSearchLink Specification"

From D4Science Wiki
Jump to: navigation, search
(The 'Category' Class)
(The 'XSearchLink' Class)
Line 130: Line 130:
  
  
= The 'XSearchLink' Class =
+
= The 'XLink' Class =
  
 
void setEntityMiningComponent ();
 
void setEntityMiningComponent ();
  
Set<Entity> retrieveEntities (Document document, Set<String> acceptedCategoryNames);
+
void retrieveEntities (String content, HashSet<String> acceptedCategoryNames);
 +
 
 +
void matchEntities ();
 +
 
 +
File storeMatchings (String filename);
 +
 
 +
void storeMatchings (File folder, String filename);
 +
 
 +
void retrieveIncomingProperties ();
 +
 
 +
void retrieveOutcomingProperties ();
 +
 
 +
void retrieveAllProperties ();
 +
 
 +
ArrayList<Entity> getEntities ();

Revision as of 12:55, 16 June 2013

Client Example

EntityMiningComponent emc = new GateEntityMiningComponent("component_path_folder");

emc.startup(); // load entity mining tool, the categories that already exist, etc.

emc.printAvailableCategories();


XLink xlink = new XLink();

xlink.setEntityMiningComponent(emc);


HashSet<String> acceptedCategoryNames = new HashSet<String>(); acceptedCategoryNames.add("Species"); acceptedCategoryNames.add("WaterAreas");


TextExtractor extractor = new WebPageTextExtractor("http://en.wikipedia.org/wiki/Fisheries"); String content = extractor.extractText();


xlink.retrieveEntities(content, acceptedCategoryNames); xlink.matchEntities(); ArrayList<Entity> entities = xlink.getEntities();

for (Entity entity : entities) {

System.out.println("Entity name: " + entity.getName());

System.out.println("Category: " + entity.getCategoryName());

System.out.println("Matching URIs: " + entity.getMatchingURIs());

System.out.println("-----");

}


xlink.storeMatchings(new File("folder_path"), "filename");


emc.shutdown(); // free memory


// add a new category to the component //

emc.startup();

emc.addNewCategory("shark", "url_of_sparql_endpoint", "uri_of_resource_class"); // throws CategoryAlreadyExistException, NotASparqlEndpointException, NotAURIException

acceptedCategoryNames.add("shark");

xlink.retrieveEntities(content, acceptedCategoryNames);

xlink.matchEntities();

ArrayList<Entity> entities = xlink.getEntities();

emc.shutdown(); // free memory

The 'Entity' Class

String getName ();

String getCategoryName ();

HashSet<String> getMatchingURIs ();

double getRank ();

HashMap<String, String> getProperties ();

void setName (String name);

void setCategoryName (String categoryName);

void setMatchingURIs(HashSet<String> matchingURIs);

void addMatchingURI (String uri);

void setRank (double rank);

void setProperties (HashMap<String, String> properties);

void addProperty (String propertyName, String propertyValue);

The 'Category' Class

void setName (String name);

void setEndpoint (Endpoint endpoint);

void setTemplateQuery (TemplateQuery template);

void setNamedEntities (Set<Entity> entities);

void setResourceClass (URI resourceClass);

void addNamedEntity (Entity entity);

String getName ();

Endpoint getEndpoint ();

TemplateQuery getTemplateQuery ();

Set<Entity> getNamedEntities ();

URI getResourceClass ();

The 'EntityMiningComponent' Class

void startup ();

void shutdown ();

HashSet<Category> getAvailableCategories ();

void addNewCategory (Category category);

void addNewCategory (String categoryName, URL endpoint, URI resourceClass);

void removeCategory (String categoryName);

void printAvailableCategories ();


The 'XLink' Class

void setEntityMiningComponent ();

void retrieveEntities (String content, HashSet<String> acceptedCategoryNames);

void matchEntities ();

File storeMatchings (String filename);

void storeMatchings (File folder, String filename);

void retrieveIncomingProperties ();

void retrieveOutcomingProperties ();

void retrieveAllProperties ();

ArrayList<Entity> getEntities ();