Refine search
/** * @deprecated since 4.0. Use {@link #objectLiteral(Model)} instead. */ @Deprecated public static Literal anyObjectLiteral(Model m) { return objectLiteral(m).orElse(null); }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o instanceof Model) { Model model = (Model)o; return Models.isomorphic(this, model); } return false; }
/** * Compares two RDF models, and returns <tt>true</tt> if the first model is a * subset of the second model, using graph isomorphism to map statements * between models. */ public static boolean isSubset(Iterable<? extends Statement> model1, Iterable<? extends Statement> model2) { // Filter duplicates Set<? extends Statement> set1 = toSet(model1); Set<? extends Statement> set2 = toSet(model2); return isSubset(set1, set2); }
Optional<Literal> language = Models.objectLiteral(m.filter(implNode, QUERY_LANGUAGE, null)); if (language.isPresent()) { setQueryLanguage(QueryLanguage.valueOf(language.get().stringValue())); if (null == getQueryLanguage()) { throw new SailConfigException( "Valid value required for " + QUERY_LANGUAGE + " property, found " + language.get()); Optional<Resource> object = Models.objectResource(m.filter(implNode, RULE_QUERY, null)); if (object.isPresent()) { Models.objectLiteral(m.filter(object.get(), SP.TEXT_PROPERTY, null)).ifPresent( lit -> setRuleQuery(lit.stringValue())); object = Models.objectResource(m.filter(implNode, MATCHER_QUERY, null)); if (object.isPresent()) { Models.objectLiteral(m.filter(object.get(), SP.TEXT_PROPERTY, null)).ifPresent( lit -> setMatcherQuery(lit.stringValue()));
Optional<Literal> bool = Models.objectLiteral(model.filter(implNode, DISTINCT, null)); if (bool.isPresent() && bool.get().booleanValue()) { distinct = true; bool = Models.objectLiteral(model.filter(implNode, READ_ONLY, null)); if (bool.isPresent() && bool.get().booleanValue()) { readOnly = true;
/** * @deprecated since 4.0. Use {@link #objectResource(Model)} instead. */ @Deprecated public static Resource anyObjectResource(Model m) { return objectResource(m).orElse(null); }
if (model.size() != parsedModel.size()) { if (model.size() < 1000) { boolean originalIsSubset = Models.isSubset(model, parsedModel); boolean parsedIsSubset = Models.isSubset(parsedModel, model); System.out.println("originalIsSubset=" + originalIsSubset); System.out.println("parsedIsSubset=" + parsedIsSubset); assertTrue("Expected at least 5 namespaces, found " + parsedModel.getNamespaces().size(), parsedModel.getNamespaces().size() >= 5); assertEquals(exNs, parsedModel.getNamespace("ex").get().getName());
@Override public void parse(Model model, Resource implNode) throws RepositoryConfigException { super.parse(model, implNode); try { Models.objectLiteral(model.filter(implNode, ProxyRepositorySchema.PROXIED_ID, null)).ifPresent( lit -> setProxiedRepositoryID(lit.getLabel())); } catch (ModelException e) { throw new RepositoryConfigException(e.getMessage(), e); } } }
@Override public void parse(Model m, Resource implNode) throws RepositoryConfigException { super.parse(m, implNode); try { Models.objectIRI(m.filter(implNode, QUERY_ENDPOINT, null)).ifPresent( iri -> setQueryEndpointUrl(iri.stringValue())); Models.objectIRI(m.filter(implNode, UPDATE_ENDPOINT, null)).ifPresent( iri -> setUpdateEndpointUrl(iri.stringValue())); } catch (ModelException e) { throw new RepositoryConfigException(e.getMessage(), e); } } }
Models.objectLiteral(model.filter(resource, INCLUDE_INFERRED, null)).ifPresent( lit -> setIncludeInferred(lit.booleanValue())); Models.objectLiteral(model.filter(resource, MAX_QUERY_TIME, null)).ifPresent( lit -> setMaxQueryTime(lit.intValue())); Models.objectLiteral(model.filter(resource, QUERY_LANGUAGE, null)).ifPresent( lit -> setQueryLanguage(QueryLanguage.valueOf(lit.getLabel()))); Models.objectIRI(model.filter(resource, QUERY_LANGUAGE, null)).ifPresent( iri -> setBaseURI(iri.stringValue())); setArchiveContexts(objects.toArray(new IRI[objects.size()])); Models.objectIRI(model.filter(resource, INSERT_CONTEXT, null)).ifPresent( iri -> setInsertContext(iri));
Rio.getParserFormatForFileName(dataFile).orElseThrow(Rio.unsupportedFormat(dataFile))); Rio.getParserFormatForFileName(graphName).orElseThrow(Rio.unsupportedFormat(graphName)), dataCon.getValueFactory().createIRI(graphName)); Rio.getParserFormatForFileName(resultFile).orElseThrow(Rio.unsupportedFormat(resultFile))); if (!Models.isomorphic(actualStatements, expectedStatements)) {
@Override public void parse(Model graph, Resource implNode) throws SailConfigException { super.parse(graph, implNode); Literal indexDirLit = Models.objectLiteral(graph.filter(implNode, INDEX_DIR, null)).orElseThrow( () -> new SailConfigException("no value found for " + INDEX_DIR)); setIndexDir(indexDirLit.getLabel()); for (Statement stmt : graph.filter(implNode, null, null)) { if (stmt.getPredicate().getNamespace().equals(LuceneSailConfigSchema.NAMESPACE)) { if (stmt.getObject() instanceof Literal) { String key = stmt.getPredicate().getLocalName(); setParameter(key, stmt.getObject().stringValue()); } } } } }
@Override public void parse(Model model, Resource repImplNode) throws RepositoryConfigException { try { Optional<Resource> sailImplNode = Models.objectResource(model.filter(repImplNode, SAILIMPL, null)); if (sailImplNode.isPresent()) { Models.objectLiteral(model.filter(sailImplNode.get(), SAILTYPE, null)).ifPresent(typeLit -> { SailFactory factory = SailRegistry.getInstance().get(typeLit.getLabel()).orElseThrow( () -> new RepositoryConfigException("Unsupported Sail type: " + typeLit.getLabel())); sailImplConfig = factory.getConfig(); sailImplConfig.parse(model, sailImplNode.get()); }); } } catch (ModelException e) { throw new RepositoryConfigException(e.getMessage(), e); } catch (SailConfigException e) { throw new RepositoryConfigException(e.getMessage(), e); } } }
@Override public void parse(Model m, Resource implNode) throws SailConfigException { super.parse(m, implNode); try { Models.objectLiteral(m.filter(implNode, SpinSailSchema.AXIOM_CLOSURE_NEEDED, null)).ifPresent( lit -> setAxiomClosureNeeded(lit.booleanValue())); } catch (ModelException e) { throw new SailConfigException(e.getMessage(), e); } } }
/** * Compares two RDF models, defined by two statement collections, and returns * <tt>true</tt> if they are equal. Models are equal if they contain the same * set of statements. Blank node IDs are not relevant for model equality, * they are mapped from one model to the other by using the attached * properties. * * @deprecated since 2.8.0. Use {@link Models#isomorphic(Iterable, Iterable)} * instead. */ @Deprecated public static boolean equals(Iterable<? extends Statement> model1, Iterable<? extends Statement> model2) { return isomorphic(model1, model2); }
private void assertModel(Model expectedModel) { if(logger.isTraceEnabled()) { logger.trace("Expected: {}", expectedModel); logger.trace("Actual: {}", testStatements); } assertTrue("Did not find expected statements", Models.isomorphic(expectedModel, testStatements)); }
private void compareGraphs(Iterable<? extends Statement> actual, Iterable<? extends Statement> expected) throws Exception { if (!Models.isomorphic(expected, actual)) { StringBuilder message = new StringBuilder(128); message.append("\n============ "); message.append(getName()); message.append(" =======================\n"); message.append("Expected result: \n"); for (Statement st : expected) { message.append(st.toString()); message.append("\n"); } message.append("============="); StringUtil.appendN('=', getName().length(), message); message.append("========================\n"); message.append("Actual result: \n"); for (Statement st : actual) { message.append(st.toString()); message.append("\n"); } message.append("============="); StringUtil.appendN('=', getName().length(), message); message.append("========================\n"); logger.error(message.toString()); fail(message.toString()); } }
/** * Compares two graph query results and returns {@code true} if they are * equal. Two graph query results are considered equal if they are isomorphic * graphs. Note that the method consumes both query results fully. * * @param result1 * the first query result to compare * @param result2 * the second query result to compare. * @return {@code true} iff the supplied graph query results are isomorphic * graphs, {@code false} otherwise. * @throws QueryEvaluationException * @see {@link Models#isomorphic(Iterable, Iterable)} */ public static boolean equals(GraphQueryResult result1, GraphQueryResult result2) throws QueryEvaluationException { Set<? extends Statement> graph1 = Iterations.asSet(result1); Set<? extends Statement> graph2 = Iterations.asSet(result2); return Models.isomorphic(graph1, graph2); }
protected final void compareGraphs(Set<Statement> queryResult, Set<Statement> expectedResult) throws Exception if (!Models.isomorphic(expectedResult, queryResult)) {