Difference between revisions of "XSearchLink Specification"
(→The 'Entity' Class) |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | This is a '''draft''' specification of X-Link. | ||
+ | |||
+ | Client examples (Java code) of how to use X-Link can be found here: | ||
+ | https://gcube.wiki.gcube-system.org/gcube/index.php/X-Link | ||
+ | |||
= Client Example = | = Client Example = | ||
Line 90: | Line 95: | ||
= The 'Category' Class = | = The 'Category' Class = | ||
− | void | + | void setName (String name); |
− | void | + | void setEndpoint (Endpoint endpoint); |
− | void | + | void setTemplateQuery (TemplateQuery template); |
− | void | + | void setNamedEntities (Set<Entity> entities); |
− | void | + | void setResourceClass (URI resourceClass); |
− | void | + | void addNamedEntity (Entity entity); |
− | String | + | String getName (); |
− | + | ||
− | + | ||
− | + | Endpoint getEndpoint (); | |
− | + | TemplateQuery getTemplateQuery (); | |
− | + | Set<Entity> getNamedEntities (); | |
+ | URI getResourceClass (); | ||
= The 'EntityMiningComponent' Class = | = The 'EntityMiningComponent' Class = | ||
Line 131: | Line 135: | ||
− | = The ' | + | = The 'XLink' Class = |
void setEntityMiningComponent (); | 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 (); |
Latest revision as of 13:29, 18 February 2014
This is a draft specification of X-Link.
Client examples (Java code) of how to use X-Link can be found here: https://gcube.wiki.gcube-system.org/gcube/index.php/X-Link
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 ();