当前位置: 首页>>代码示例>>Java>>正文


Java BlankNodeOrIRI类代码示例

本文整理汇总了Java中org.apache.commons.rdf.api.BlankNodeOrIRI的典型用法代码示例。如果您正苦于以下问题:Java BlankNodeOrIRI类的具体用法?Java BlankNodeOrIRI怎么用?Java BlankNodeOrIRI使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


BlankNodeOrIRI类属于org.apache.commons.rdf.api包,在下文中一共展示了BlankNodeOrIRI类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: Authorization

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
/**
 * Create an Authorization object from an RDF graph.
 *
 * @param identifier the subject IRI
 * @param graph the RDF graph
 */
public Authorization(final BlankNodeOrIRI identifier, final Graph graph) {
    requireNonNull(identifier, "The Authorization identifier may not be null!");
    requireNonNull(graph, "The input graph may not be null!");

    this.identifier = identifier;

    this.dataMap.put(ACL.agent, new HashSet<>());
    this.dataMap.put(ACL.agentClass, new HashSet<>());
    this.dataMap.put(ACL.agentGroup, new HashSet<>());
    this.dataMap.put(ACL.mode, new HashSet<>());
    this.dataMap.put(ACL.accessTo, new HashSet<>());
    this.dataMap.put(ACL.default_, new HashSet<>());

    graph.stream(identifier, null, null).filter(triple -> dataMap.containsKey(triple.getPredicate()))
        .filter(triple -> triple.getObject() instanceof IRI)
        .forEachOrdered(triple -> dataMap.get(triple.getPredicate()).add((IRI) triple.getObject()));
}
 
开发者ID:trellis-ldp,项目名称:trellis,代码行数:24,代码来源:Authorization.java

示例2: Authorization

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
/**
 * Create an Authorization object from an RDF graph
 * @param identifier the subject IRI
 * @param graph the RDF graph
 */
public Authorization(final BlankNodeOrIRI identifier, final Graph graph) {
    requireNonNull(identifier, "The Authorization identifier may not be null!");
    requireNonNull(graph, "The input graph may not be null!");

    this.identifier = identifier;

    this.dataMap.put(ACL.agent, new HashSet<>());
    this.dataMap.put(ACL.agentClass, new HashSet<>());
    this.dataMap.put(ACL.agentGroup, new HashSet<>());
    this.dataMap.put(ACL.mode, new HashSet<>());
    this.dataMap.put(ACL.accessTo, new HashSet<>());
    this.dataMap.put(ACL.default_, new HashSet<>());

    graph.stream(identifier, null, null).filter(triple -> dataMap.containsKey(triple.getPredicate()))
        .filter(triple -> triple.getObject() instanceof IRI)
        .forEachOrdered(triple -> dataMap.get(triple.getPredicate()).add((IRI) triple.getObject()));
}
 
开发者ID:trellis-ldp-archive,项目名称:trellis-webac,代码行数:23,代码来源:Authorization.java

示例3: iterate

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
@Override
public ClosableIterable<Triple> iterate(final BlankNodeOrIRI subject, final IRI predicate, final RDFTerm object) {
    return new ClosableIterable<Triple>() {
        @SuppressWarnings("unchecked")
        @Override
        public Iterator<Triple> iterator() {
            // double-cast to fight Java generics..
            final Stream<? extends Triple> s = stream(subject, predicate, object);
            return (Iterator<Triple>) s.iterator();
        }

        @Override
        public void close() throws Exception {
            // no-op as Model don't have transaction
        }
    };
}
 
开发者ID:apache,项目名称:commons-rdf,代码行数:18,代码来源:ModelGraphImpl.java

示例4: add

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
@Override
public void add(final Quad quad) {
    final BlankNodeOrIRI newGraph = (BlankNodeOrIRI) internallyMap(quad.getGraphName().orElse(null));
    final BlankNodeOrIRI newSubject = (BlankNodeOrIRI) internallyMap(quad.getSubject());
    final IRI newPredicate = (IRI) internallyMap(quad.getPredicate());
    final RDFTerm newObject = internallyMap(quad.getObject());
    // Check if any of the object references changed during the mapping, to
    // avoid creating a new Quad object if possible
    if (newGraph == quad.getGraphName().orElse(null) && newSubject == quad.getSubject()
            && newPredicate == quad.getPredicate() && newObject == quad.getObject()) {
        quads.add(quad);
    } else {
        // Make a new Quad with our mapped instances
        final Quad result = factory.createQuad(newGraph, newSubject, newPredicate, newObject);
        quads.add(result);
    }
}
 
开发者ID:apache,项目名称:commons-rdf,代码行数:18,代码来源:DatasetImpl.java

示例5: asJsonLdString

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
String asJsonLdString(final BlankNodeOrIRI blankNodeOrIRI) {
    if (blankNodeOrIRI == null) {
        return null;
    }
    if (blankNodeOrIRI instanceof IRI) {
        return ((IRI) blankNodeOrIRI).getIRIString();
    } else if (blankNodeOrIRI instanceof BlankNode) {
        final BlankNode blankNode = (BlankNode) blankNodeOrIRI;
        final String ref = blankNode.uniqueReference();
        if (ref.startsWith(bnodePrefix)) {
            // One of ours (but possibly not a JsonLdBlankNode) -
            // we can use the suffix directly
            return ref.replace(bnodePrefix, "");
        }
        // Map to unique bnode identifier, e.g.
        // _:0dbd92ee-ab1a-45e7-bba2-7ade54f87ec5
        final UUID uuid = UUID.nameUUIDFromBytes(ref.getBytes(StandardCharsets.UTF_8));
        return "_:" + uuid;
    } else {
        throw new IllegalArgumentException("Expected a BlankNode or IRI, not: " + blankNodeOrIRI);
    }
}
 
开发者ID:apache,项目名称:commons-rdf,代码行数:23,代码来源:JsonLdRDF.java

示例6: endedAtQuad

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
/**
 * Get the PROV.endedAtTime quad, wrapped in a Stream
 * @param identifier the identifier
 * @param dataset the dataset
 * @param time the time
 * @return the quad
 */
public static Stream<Quad> endedAtQuad(final IRI identifier, final Dataset dataset, final Instant time) {
    return dataset.stream(of(PreferAudit), identifier, wasGeneratedBy, null)
        .map(Quad::getObject).filter(term -> term instanceof BlankNodeOrIRI)
        .map(term -> (BlankNodeOrIRI) term)
        .map(term -> (Quad) rdf.createQuad(PreferAudit, term, endedAtTime,
                rdf.createLiteral(time.toString(), dateTime))).limit(1);
}
 
开发者ID:trellis-ldp,项目名称:trellis-rosid,代码行数:15,代码来源:RDFUtils.java

示例7: createTriple

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
@Override
public RDF4JTriple createTriple(final BlankNodeOrIRI subject, final org.apache.commons.rdf.api.IRI predicate, final RDFTerm object)
        throws IllegalArgumentException {
    final Statement statement = getValueFactory().createStatement(
            (org.eclipse.rdf4j.model.Resource) asValue(subject), (org.eclipse.rdf4j.model.IRI) asValue(predicate),
            asValue(object));
    return asTriple(statement);
}
 
开发者ID:apache,项目名称:commons-rdf,代码行数:9,代码来源:RDF4J.java

示例8: createQuad

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
@Override
public Quad createQuad(final BlankNodeOrIRI graphName, final BlankNodeOrIRI subject, final org.apache.commons.rdf.api.IRI predicate,
        final RDFTerm object) throws IllegalArgumentException {
    final Statement statement = getValueFactory().createStatement(
            (org.eclipse.rdf4j.model.Resource) asValue(subject), (org.eclipse.rdf4j.model.IRI) asValue(predicate),
            asValue(object), (org.eclipse.rdf4j.model.Resource) asValue(graphName));
    return asQuad(statement);
}
 
开发者ID:apache,项目名称:commons-rdf,代码行数:9,代码来源:RDF4J.java

示例9: add

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
@Override
public void add(final BlankNodeOrIRI graphName, final BlankNodeOrIRI subject, final IRI predicate, final RDFTerm object) {
    final Resource context = (Resource) rdf4jTermFactory.asValue(graphName);
    final Resource subj = (Resource) rdf4jTermFactory.asValue(subject);
    final org.eclipse.rdf4j.model.IRI pred = (org.eclipse.rdf4j.model.IRI) rdf4jTermFactory.asValue(predicate);
    final Value obj = rdf4jTermFactory.asValue(object);
    try (RepositoryConnection conn = getRepositoryConnection()) {
        conn.add(subj, pred, obj, context);
        conn.commit();
    }
}
 
开发者ID:apache,项目名称:commons-rdf,代码行数:12,代码来源:RepositoryDatasetImpl.java

示例10: contains

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
@Override
public boolean contains(final Optional<BlankNodeOrIRI> graphName, final BlankNodeOrIRI subject, final IRI predicate, final RDFTerm object) {
    final Resource subj = (Resource) rdf4jTermFactory.asValue(subject);
    final org.eclipse.rdf4j.model.IRI pred = (org.eclipse.rdf4j.model.IRI) rdf4jTermFactory.asValue(predicate);
    final Value obj = rdf4jTermFactory.asValue(object);
    final Resource[] contexts = asContexts(graphName);
    try (RepositoryConnection conn = getRepositoryConnection()) {
        return conn.hasStatement(subj, pred, obj, includeInferred, contexts);
    }
}
 
开发者ID:apache,项目名称:commons-rdf,代码行数:11,代码来源:RepositoryDatasetImpl.java

示例11: asContexts

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
private Resource[] asContexts(final Optional<BlankNodeOrIRI> graphName) {
    Resource[] contexts;
    if (graphName == null) {
        // no contexts == any contexts
        contexts = new Resource[0];
    } else {
        final BlankNodeOrIRI g = graphName.orElse(null);
        final Resource context = (Resource) rdf4jTermFactory.asValue(g);
        contexts = new Resource[] { context };
    }
    return contexts;
}
 
开发者ID:apache,项目名称:commons-rdf,代码行数:13,代码来源:RepositoryDatasetImpl.java

示例12: remove

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
@Override
public void remove(final Optional<BlankNodeOrIRI> graphName, final BlankNodeOrIRI subject, final IRI predicate, final RDFTerm object) {
    final Resource subj = (Resource) rdf4jTermFactory.asValue(subject);
    final org.eclipse.rdf4j.model.IRI pred = (org.eclipse.rdf4j.model.IRI) rdf4jTermFactory.asValue(predicate);
    final Value obj = rdf4jTermFactory.asValue(object);
    final Resource[] contexts = asContexts(graphName);

    try (RepositoryConnection conn = getRepositoryConnection()) {
        conn.remove(subj, pred, obj, contexts);
        conn.commit();
    }
}
 
开发者ID:apache,项目名称:commons-rdf,代码行数:13,代码来源:RepositoryDatasetImpl.java

示例13: iterate

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
@Override
public ClosableIterable<Quad> iterate(final Optional<BlankNodeOrIRI> graphName, final BlankNodeOrIRI subject, final IRI predicate,
        final RDFTerm object) throws ConcurrentModificationException, IllegalStateException {
    final Resource[] contexts = asContexts(graphName);
    final Resource subj = (Resource) rdf4jTermFactory.asValue(subject);
    final org.eclipse.rdf4j.model.IRI pred = (org.eclipse.rdf4j.model.IRI) rdf4jTermFactory.asValue(predicate);
    final Value obj = rdf4jTermFactory.asValue(object);
    return new ConvertedStatements<>(this::getRepositoryConnection, rdf4jTermFactory::asQuad, subj, pred, obj,
            contexts);
}
 
开发者ID:apache,项目名称:commons-rdf,代码行数:11,代码来源:RepositoryDatasetImpl.java

示例14: getGraph

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
@Override
public Optional<Graph> getGraph(final BlankNodeOrIRI graphName) {
    // NOTE: May be null to indicate default context
    final Resource context = (Resource) rdf4jTermFactory.asValue(graphName);
    // NOTE: We carry over the 'salt' as the graph's BlankNode should be
    // equal to our BlankNodes
    return Optional.of(new RepositoryGraphImpl(repository, salt, false, includeInferred, context));
}
 
开发者ID:apache,项目名称:commons-rdf,代码行数:9,代码来源:RepositoryDatasetImpl.java

示例15: getGraphNames

import org.apache.commons.rdf.api.BlankNodeOrIRI; //导入依赖的package包/类
@Override
public Stream<BlankNodeOrIRI> getGraphNames() {
   final RepositoryConnection conn = getRepositoryConnection();
   final RepositoryResult<Resource> contexts = conn.getContextIDs();
    return Iterations.stream(contexts).map(g -> (BlankNodeOrIRI) rdf4jTermFactory.asRDFTerm(g))
            .onClose(conn::close);
}
 
开发者ID:apache,项目名称:commons-rdf,代码行数:8,代码来源:RepositoryDatasetImpl.java


注:本文中的org.apache.commons.rdf.api.BlankNodeOrIRI类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。