Examples of PatternCount


Examples of org.neo4j.nlp.models.PatternCount

            patternCounts = patternCounts.stream()
                    .filter((pc) -> pc.getCount() > 1 || pc.getPattern().equals("1"))
                    .collect(Collectors.toList());

            if(patternCounts.size() > 0) {
                PatternCount patternCount = (PatternCount) patternCounts.toArray()[counter];
                String pattern = (String) currentNode.get("pattern");
                String newPattern = GeneratePattern(i, patternCount, pattern);
                String newTemplate = GetTemplate(newPattern);

                while (nodeManager.getOrCreateNode(graphManager, newPattern, db).hasProperty("matches") && counter < (patternCounts.size() - 1)) {
                    patternCount = (PatternCount) patternCounts.toArray()[counter];
                    pattern = (String) currentNode.get("pattern");
                    newPattern = GeneratePattern(i, patternCount, pattern);
                    newTemplate = GetTemplate(newPattern);
                    counter++;
                }

                Node leafNode = nodeManager.getOrCreateNode(graphManager, newPattern, db);

                if (!leafNode.hasProperty("matches")) {
                    if (GraphManager.edgeCache.getIfPresent((String.valueOf(leafNode.getId()))) == null) {
                        GraphManager.edgeCache.put((String.valueOf(leafNode.getId())), (String.valueOf(leafNode.getId())));
                    }

                    if (GraphManager.edgeCache.getIfPresent(currentNode.get("id") + "->" + (int) leafNode.getId()) == null) {
                        patternRelationshipCache.getOrCreateRelationship((Long) currentNode.get("id"), leafNode.getId(), db, graphManager);
                    }

                    Long leafNodeId = leafNode.getId();
                    nodeManager.setNodeProperty(leafNodeId, "matches", patternCount.getDataNodes().size(), db);
                    nodeManager.setNodeProperty(leafNodeId, "threshold", GraphManager.MIN_THRESHOLD, db);
                    nodeManager.setNodeProperty(leafNodeId, "phrase", newTemplate, db);

                    // Bind new pattern to the data nodes it was generated from
                    patternCount.getDataNodes().forEach((dn) ->
                    {
                        String[] dataLabels = (String[]) dn.get("label");
                        for (String labelName : dataLabels) {
                            Node labelNode = nodeManager.getOrCreateNode(classNodeManager, labelName, db);
                            classRelationshipCache.getOrCreateRelationship(leafNode.getId(), labelNode.getId(), db, graphManager);
View Full Code Here

Examples of org.neo4j.nlp.models.PatternCount

            while (dataMatch.find()) {
                for (int i = 1; i <= dataMatch.groupCount(); i++) {
                    String groupMatch = dataMatch.group(i).toLowerCase();
                    if (!matchDictionary.containsKey(i)) {
                        matchDictionary.put(i, new HashMap<>());
                        matchDictionary.get(i).put(groupMatch, new PatternCount(groupMatch, 1, value));
                    } else {
                        if (!matchDictionary.get(i).containsKey(groupMatch)) {
                            matchDictionary.get(i).put(groupMatch, new PatternCount(groupMatch, 1, value));
                        } else {
                            PatternCount patternCount = matchDictionary.get(i).get(groupMatch);
                            patternCount.setCount(patternCount.getCount() + 1);
                            patternCount.addDataNode(value);
                            matchDictionary.get(i).put(groupMatch, patternCount);
                        }
                    }
                }
            }
View Full Code Here

Examples of org.neo4j.nlp.models.PatternCount

    }

    @Test
    public void testGeneratePattern() throws Exception {
        GraphManager graphManager = new GraphManager("Pattern");
        String result = graphManager.GeneratePattern(new PatternCount("word", 2, null));

        Assert.assertEquals(GraphManager.ROOT_TEMPLATE.replace("\\s", "\\sword\\s"), result);
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.