public void decodeTriple(final Triple triple) { if(triple.getObjectType() == ObjectType.STRING){ getReceiver().literal(triple.getPredicate(), triple.getObject()); }else if (triple.getObjectType() == ObjectType.ENTITY){ emitter.setDefaultName(triple.getPredicate()); parser.parse(triple.getObject()); }else{ throw new UnsupportedOperationException(triple.getObjectType() + " can not yet be decoded"); } }
@Override public void process(final Triple obj) { subjectMatcher.reset(obj.getSubject()); predicateMatcher.reset(obj.getPredicate()); objectMatcher.reset(obj.getObject()); final boolean matches = subjectMatcher.matches() || predicateMatcher.matches() || objectMatcher.matches(); if ((matches && passMatches) || (!matches && !passMatches)) { getReceiver().process(obj); } }
@Override public void process(final Triple triple) { getReceiver().startRecord(triple.getSubject()); if(triple.getObjectType() == ObjectType.STRING){ getReceiver().literal(triple.getPredicate(), triple.getObject()); }else if (triple.getObjectType() == ObjectType.ENTITY){ emitter.setDefaultName(triple.getPredicate()); parser.parse(triple.getObject()); }else{ throw new UnsupportedOperationException(triple.getObjectType() + " can not yet be decoded"); } getReceiver().endRecord(); }
@Override public void process(final Triple triple) { final Path filePath = buildFilePath(triple); ensureParentPathExists(filePath); try(final Writer writer = Files.newBufferedWriter(filePath, encoding)) { writer.write(triple.getObject()); } catch (final IOException e) { throw new MetafactureException(e); } }
@Override public void process(final Triple triple) { assert !isClosed(); if (triple.getObjectType() != ObjectType.STRING) { return; } final String objectValue = retrieveObjectValue(triple.getObject()); getReceiver().process(new Triple(triple.getSubject(), triple.getPredicate(), objectValue)); }
@Override public final void process(final Triple triple) { if (triple.getSubject().indexOf('&') == -1) { if (!inHeader) { throw new IllegalArgumentException( "Marginal counts and joint count must not be mixed. Marginal counts must appear first, joint counts second"); } if (!triple.getSubject().startsWith(MARGINAL_PREFIX)) { throw new IllegalArgumentException("Marginal counts must start with '1:'"); } final int marginal = Integer.parseInt(triple.getObject()); if (marginal >= minCount) { marginals.put(triple.getSubject().substring(2), Integer.valueOf(marginal)); } } else { inHeader = false; if (!triple.getSubject().startsWith(JOINT_PREFIX)) { throw new IllegalArgumentException("Joint counts must start with '2:'"); } final int nab = Integer.parseInt(triple.getObject()); final String[] keyParts = KEY_SPLIT_PATTERN.split(triple.getSubject().substring(2)); if (nab >= minCount) { final int na = getMarginal(keyParts[0]); final int nb = getMarginal(keyParts[1]); processCount(keyParts[0], keyParts[1], na, nb, nab); } } }
@Override public void process(final T obj) { if(obj instanceof Triple){ final Triple triple = (Triple)obj; vars.put("s", triple.getSubject()); vars.put("p", triple.getPredicate()); vars.put("o", triple.getObject()); getReceiver().process(StringUtil.format(template, vars)); }else{ final Matcher matcher = OBJ_PATTERN.matcher(template); getReceiver().process(matcher.replaceAll(obj.toString())); } } }
private void writeResult() { final Compare compareBy = getCompare(); switch (compareBy) { case ALL: getReceiver().process(new Triple(current.toString(), countPredicate , String.valueOf(count))); break; case OBJECT: getReceiver().process(new Triple(current.getObject(), countPredicate, String.valueOf(count))); break; case PREDICATE: getReceiver().process(new Triple(current.getPredicate(), countPredicate, String.valueOf(count))); break; case SUBJECT: default: getReceiver().process(new Triple(current.getSubject(), countPredicate, String.valueOf(count))); break; } }
@Override public void process(final Triple triple) { final String[] elements = { triple.getSubject(), triple.getPredicate(), triple.getObject(), }; getReceiver().process(new Triple( elements[subjectFrom.ordinal()], elements[predicateFrom.ordinal()], elements[objectFrom.ordinal()] )); }