use of com.graphaware.nlp.dsl.request.ConceptRequest in project neo4j-nlp by graphaware.
the class ConceptNet5EnricherIntegrationTest method testTagsCanBeEnrichedWithConceptNet5.
@Test
public void testTagsCanBeEnrichedWithConceptNet5() {
PersistenceRegistry registry = new PersistenceRegistry(getDatabase());
ConceptNet5Enricher enricher = new ConceptNet5Enricher(getDatabase(), registry, new TextProcessorsManager(new DynamicConfiguration(getDatabase())));
clearDb();
executeInTransaction("CALL ga.nlp.config.set('SETTING_fallbackLanguage','en')", emptyConsumer());
executeInTransaction("CALL ga.nlp.annotate({text: 'kill cats', id: 'test-proc', pipeline: 'tokenizer'})", emptyConsumer());
try (Transaction tx = getDatabase().beginTx()) {
getDatabase().findNodes(Label.label("AnnotatedText")).stream().forEach(node -> {
ConceptRequest request = new ConceptRequest();
request.setAnnotatedNode(node);
request.setDepth(1);
request.setProcessor(StubTextProcessor.class.getName());
request.setAdmittedRelationships(Arrays.asList("RelatedTo", "IsA"));
request.setFilterByLanguage(true);
request.setSplitTag(false);
request.setRelDirection("both");
request.setOutputLanguages(Arrays.asList("en"));
enricher.importConcept(request);
tx.success();
});
}
debugTagsRelations();
TestNLPGraph tester = new TestNLPGraph(getDatabase());
tester.assertTagWithValueExist("cats");
// tester.assertTagHasRelatedTag("cats", "cat");
tester.assertTagHasRelatedTag("kill", "death");
}
use of com.graphaware.nlp.dsl.request.ConceptRequest in project neo4j-nlp by graphaware.
the class ConceptNet5EnricherIntegrationTest method testRequestWithRelationshipsConstraintDoNotGetThem.
@Test
public void testRequestWithRelationshipsConstraintDoNotGetThem() {
PersistenceRegistry registry = new PersistenceRegistry(getDatabase());
ConceptNet5Enricher enricher = new ConceptNet5Enricher(getDatabase(), registry, new TextProcessorsManager(new DynamicConfiguration(getDatabase())));
clearDb();
executeInTransaction("CALL ga.nlp.annotate({text: 'tension mounted as the eclipse time approached.', id: 'test-proc', pipeline: 'tokenizer'})", (result -> {
//
}));
try (Transaction tx = getDatabase().beginTx()) {
getDatabase().findNodes(Label.label("Tag")).stream().forEach(node -> {
ConceptRequest request = new ConceptRequest();
request.setTag(node);
// request.setLanguage("en");
request.setDepth(2);
request.setProcessor(StubTextProcessor.class.getName());
request.setAdmittedRelationships(Arrays.asList("IsA", "PartOf"));
request.setFilterByLanguage(true);
request.setSplitTag(false);
enricher.importConcept(request);
tx.success();
});
}
executeInTransaction("MATCH (n)-[r:IS_RELATED_TO]->() WHERE r.type = 'AtLocation' RETURN n, r", (result -> {
assertFalse(result.hasNext());
}));
debugTagsRelations();
}
use of com.graphaware.nlp.dsl.request.ConceptRequest in project neo4j-nlp by graphaware.
the class MicrosoftEnricherTest method testCanGetConceptsFromMicrosoft.
@Test
public void testCanGetConceptsFromMicrosoft() {
PersistenceRegistry registry = new PersistenceRegistry(getDatabase());
MicrosoftConceptEnricher enricher = new MicrosoftConceptEnricher(getDatabase(), registry, new TextProcessorsManager(new DynamicConfiguration(getDatabase())));
clearDb();
executeInTransaction("CALL ga.nlp.annotate({text: 'kill cats', id: 'test-proc', pipeline: 'tokenizer'})", emptyConsumer());
try (Transaction tx = getDatabase().beginTx()) {
getDatabase().findNodes(Label.label("AnnotatedText")).stream().forEach(node -> {
ConceptRequest request = new ConceptRequest();
request.setAnnotatedNode(node);
// request.setLanguage("en");
request.setDepth(1);
request.setProcessor(StubTextProcessor.class.getName());
enricher.importConcept(request);
tx.success();
});
}
debugTagsRelations();
TestNLPGraph tester = new TestNLPGraph(getDatabase());
tester.assertTagWithValueExist("pet");
tester.assertTagWithValueExist("specie");
tester.assertTagHasRelatedTag("cats", "animal");
tester.assertTagHasRelatedTag("cats", "pet");
}
use of com.graphaware.nlp.dsl.request.ConceptRequest in project neo4j-nlp by graphaware.
the class MicrosoftEnricherTest method testEnricherNameIsSetAsRelationshipProperty.
@Test
public void testEnricherNameIsSetAsRelationshipProperty() {
DynamicConfiguration configuration = new DynamicConfiguration(getDatabase());
PersistenceRegistry registry = new PersistenceRegistry(getDatabase());
MicrosoftConceptEnricher enricher = new MicrosoftConceptEnricher(getDatabase(), registry, new TextProcessorsManager(new DynamicConfiguration(getDatabase())));
clearDb();
executeInTransaction("CALL ga.nlp.annotate({text: 'kill cats', id: 'test-proc', pipeline: 'tokenizer'})", emptyConsumer());
try (Transaction tx = getDatabase().beginTx()) {
getDatabase().findNodes(Label.label("AnnotatedText")).stream().forEach(node -> {
ConceptRequest request = new ConceptRequest();
request.setAnnotatedNode(node);
// request.setLanguage("en");
request.setDepth(1);
request.setProcessor(StubTextProcessor.class.getName());
enricher.importConcept(request);
tx.success();
});
}
try (Transaction tx = getDatabase().beginTx()) {
getDatabase().getAllRelationships().stream().forEach(r -> {
if (r.isType(RelationshipType.withName("IS_RELATED_TO"))) {
assertTrue(r.hasProperty("source"));
assertEquals(MicrosoftConceptEnricher.ENRICHER_NAME, r.getProperty("source").toString());
}
});
tx.success();
}
}
use of com.graphaware.nlp.dsl.request.ConceptRequest in project neo4j-nlp by graphaware.
the class ConceptRequestUnitTest method testRequestThrowsFriendlyMessageWithAlmostGoodConfigKey.
@Test(expected = RuntimeException.class)
public void testRequestThrowsFriendlyMessageWithAlmostGoodConfigKey() {
Map<String, Object> map = new HashMap<>();
map.put("node", new NodeProxy());
map.put("language", "en");
map.put("admittedRelationship", new ArrayList<>());
ConceptRequest request = ConceptRequest.fromMap(map);
}
Aggregations