org.apache.jena.graph.Triple类的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.2k)|赞(0)|评价(0)|浏览(120)

本文整理了Java中org.apache.jena.graph.Triple类的一些代码示例,展示了Triple类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Triple类的具体详情如下:
包路径:org.apache.jena.graph.Triple
类名称:Triple

Triple介绍

[英]Triples are the basis for RDF statements; they have a subject, predicate, and object field (all nodes) and express the notion that the relationship named by the predicate holds between the subject and the object.
[中]三元组是RDF语句的基础;它们有一个主语、谓语和宾语字段(所有节点),并表示由谓语命名的关系在主语和宾语之间保持的概念。

代码示例

代码示例来源:origin: org.spdx/spdx-tools

public String getComment() {
  if (this.model != null && this.resource != null) {
    Node p = model.getProperty(SpdxRdfConstants.RDFS_NAMESPACE, SpdxRdfConstants.RDFS_PROP_COMMENT).asNode();
    Triple m = Triple.createMatch(this.resource.asNode(), p, null);
    ExtendedIterator<Triple> tripleIter = model.getGraph().find(m);	
    while (tripleIter.hasNext()) {
      this.comment = tripleIter.next().getObject().toString(false);
    }
  }
  return this.comment;
}

代码示例来源:origin: org.spdx/spdx-tools

public List<SpdxPackage> findAllPackages() throws InvalidSPDXAnalysisException {
  Node rdfTypePredicate = model.getProperty(SpdxRdfConstants.RDF_NAMESPACE, 
      SpdxRdfConstants.RDF_PROP_TYPE).asNode();
  Node packageTypeObject = model.createResource(SPDX_NAMESPACE + CLASS_SPDX_PACKAGE).asNode();
  Triple m = Triple.createMatch(null, rdfTypePredicate, packageTypeObject);
  List<SpdxPackage> retval = Lists.newArrayList();
  ExtendedIterator<Triple> tripleIter = model.getGraph().find(m);	
  while (tripleIter.hasNext()) {
    retval.add((SpdxPackage)SpdxElementFactory.createElementFromModel(this, tripleIter.next().getSubject()));
  }
  return retval;
}

代码示例来源:origin: apache/jena

@Override
public ExtendedIterator<Triple> find( Node s, Node p, Node o ) {
  return SimpleEventManager.notifyingRemove( this, 
      base.find( s, p, o ).filterDrop( t -> t.getSubject().isLiteral() ||
          t.getPredicate().isBlank() || t.getPredicate().isLiteral() ) );
}

代码示例来源:origin: apache/tinkerpop

static GraphTraversal<?, ?> transform(final Triple triple) {
  final GraphTraversal<Vertex, ?> matchTraversal = __.as(triple.getSubject().getName());
  
  final Node predicate = triple.getPredicate();
  final String uri = predicate.getURI();
  final String uriValue = Prefixes.getURIValue(uri);
  final String prefix = Prefixes.getPrefix(uri);
  switch (prefix) {
    case "edge":
      return matchTraversal.out(uriValue).as(triple.getObject().getName());
    case "property":
      return matchProperty(matchTraversal, uriValue, PropertyType.PROPERTY, triple.getObject());
    case "value":
      return matchProperty(matchTraversal, uriValue, PropertyType.VALUE, triple.getObject());
    default:
      throw new IllegalStateException(String.format("Unexpected predicate: %s", predicate));
  }
}

代码示例来源:origin: apache/jena

@Override
public void triple(Triple triple) {
  Node obj = triple.getObject();
  Node obj2 = function.apply(obj);
  if ( obj != obj2 ) {
    triple = Triple.create(triple.getSubject(), triple.getPredicate(), obj2);
  }
  super.triple(triple);
}

代码示例来源:origin: apache/jena

@Override
protected ExtendedIterator<Triple> graphBaseFind(Triple m) {
  if ( m == null ) m = Triple.ANY ;
  Node s = m.getMatchSubject() ;
  Node p = m.getMatchPredicate() ;
  Node o = m.getMatchObject() ;
  return graphBaseFind(s, p, o) ;
}

代码示例来源:origin: apache/jena

@Override
public SecuredModel add(final Resource s, final Property p, final String lex, final RDFDatatype datatype)
    throws UpdateDeniedException, AddDeniedException, AuthenticationRequiredException {
  checkUpdate();
  checkCreate(new Triple(s.asNode(), p.asNode(), NodeFactory.createLiteral(lex, datatype)));
  holder.getBaseItem().add(s, p, lex, datatype);
  return holder.getSecuredItem();
}

代码示例来源:origin: apache/jena

@Test public void rdfjson_escapes()
{
  Graph g = GraphFactory.createGraphMem();
  Node s = NodeFactory.createBlankNode();
  Node p = NodeFactory.createURI("http://predicate");
  g.add(new Triple(s, p, NodeFactory.createLiteral("quote \" character")));
  g.add(new Triple(s, p, NodeFactory.createLiteral("new \n\r lines")));
  g.add(new Triple(s, p, NodeFactory.createLiteral("tab \t character")));
  test(g);
}

代码示例来源:origin: trellis-ldp/trellis

private static Stream<Triple> getComplexTriples() {
  final Node sub = createURI("trellis:data/resource");
  final Node bn = createBlankNode();
  return of(
      create(sub, title.asNode(), createLiteral("A title")),
      create(sub, subject.asNode(), bn),
      create(bn, title.asNode(), createLiteral("Other title")),
      create(sub, spatial.asNode(), createURI("http://sws.geonames.org/4929022/")),
      create(sub, type, Text.asNode()))
    .map(rdf::asTriple);
}

代码示例来源:origin: apache/jena

/**
 * Test case for a bug in retrieving a value like 3.00 from
 * a probe like 3.0
 */
public void testDecimalFind() {
  RDFDatatype dt = XSDDatatype.XSDdecimal;
  Node ns = NodeFactory.createURI("x") ;
  Node np = NodeFactory.createURI("p") ;
  Node nx1 = NodeFactory.createLiteral("0.50", dt) ;
  Node nx2 = NodeFactory.createLiteral("0.500", dt) ;
  Graph graph = Factory.createDefaultGraph() ;
  graph.add(new Triple(ns, np, nx1)) ;
  assertTrue( graph.find(Node.ANY, Node.ANY, nx2).hasNext() );  
}

代码示例来源:origin: apache/jena

@Test public void binaryThrift() {
  Triple t = Triple.create(n(":s"), n(":p"), NodeFactory.createBlankNode("ABCD"));
  Node obj = t.getObject(); 
  Graph graph = Factory.createDefaultGraph();
  graph.add(t);
  
  ByteArrayOutputStream bout = new ByteArrayOutputStream();
  RDFDataMgr.write(bout, graph, Lang.RDFTHRIFT);
  
  ByteArrayInputStream bin = new ByteArrayInputStream(bout.toByteArray());
  Graph graph1 = Factory.createDefaultGraph();
  RDFDataMgr.read(graph1, bin, Lang.RDFTHRIFT);
  
  Node obj1 = graph1.find().next().getObject();
  assertEquals(obj, obj1);
  assertTrue(obj1.isBlank());
  assertEquals(obj.getBlankNodeLabel(), obj1.getBlankNodeLabel());  
}

代码示例来源:origin: apache/jena

@Override
public void accept(Triple item) {
  Node node = item.getSubject();
  if (node.isURI()) addPrefix2Ctx(node.getURI());
  node = item.getPredicate() ;
  addPrefix2Ctx(node.getURI());
  node = item.getObject() ;
  if (node.isURI()) addPrefix2Ctx(node.getURI());
}

代码示例来源:origin: apache/jena

@Override
public SecuredSeq getSeq(final String uri) throws ReadDeniedException, AuthenticationRequiredException {
  checkRead();
  checkRead(new Triple(NodeFactory.createURI(uri), RDF.type.asNode(), RDF.Seq.asNode()));
  return SecuredSeqImpl.getInstance(holder.getSecuredItem(), holder.getBaseItem().getSeq(uri));
}

代码示例来源:origin: apache/jena

/**
 * Rewrite a triple.
 * @param t The triple to rewrite.
 * @return The rewritten triple.
 */
protected final Triple rewrite(Triple t) {
  return new Triple(changeNode(t.getSubject()),
      changeNode(t.getPredicate()), changeNode(t.getObject()));
}

代码示例来源:origin: apache/jena

private Node getSkolem(Node x, Node y) {
  String rules =  "[r1: (?n p ?x) (?n q ?y) makeSkolem(?s ?x ?y) -> (?n s ?s)]";
  Graph data = Factory.createGraphMem();
  data.add(new Triple(n1, p, x));
  data.add(new Triple(n1, q, y));
  InfGraph infgraph = createInfGraph(rules, data);
  return infgraph.find(n1, s, Node.ANY).next().getObject();
}

代码示例来源:origin: apache/jena

@Override public void addGraph(Node gn, Graph g)
{
  // Convert to quads.
  //super.addGraph(gn, g) ;
  ExtendedIterator<Triple> iter = g.find(Node.ANY, Node.ANY, Node.ANY) ;
  for ( ; iter.hasNext(); )
  {
    Triple t = iter.next() ;
    add(gn, t.getSubject(), t.getPredicate(), t.getObject()) ;
  }
}

代码示例来源:origin: vivo-project/Vitro

@Override
public ExtendedIterator<Triple> find(Node subject, Node predicate, Node object) {
  
  List<Triple> nbTripList = new ArrayList<Triple>();
  ExtendedIterator<Triple> triples = graph.find(subject, predicate, object);
  
  while (triples.hasNext()) {
    Triple triple = triples.next();
    
    if (!triple.getSubject().isBlank() && !triple.getObject().isBlank()) {
      nbTripList.add(triple);
    }
  }
  
  return WrappedIterator.create(nbTripList.iterator());
}

代码示例来源:origin: apache/jena

private void testStatsWithConcreteTriple( int expect, String triple, String graph )
  {
  Graph g = getGraphWith( graph );
  GraphStatisticsHandler h = g.getStatisticsHandler();
  Triple t = triple( triple );
  assertEquals( expect, h.getStatistic( t.getSubject(), t.getPredicate(), t.getObject() ) );
  }

代码示例来源:origin: apache/jena

@Override
public SecuredStatement createStatement(final Resource s, final Property p, final String o)
    throws UpdateDeniedException, AddDeniedException, AuthenticationRequiredException {
  checkUpdate();
  checkCreate(new Triple(s.asNode(), p.asNode(), NodeFactory.createURI(o)));
  return SecuredStatementImpl.getInstance(holder.getSecuredItem(), holder.getBaseItem().createStatement(s, p, o));
}

代码示例来源:origin: apache/jena

private static GNode parse(String str)
{ 
  Model m = ModelFactory.createDefaultModel() ;
  m.read(new StringReader(str), null, "TTL") ;
  Graph graph = m.getGraph() ;
  Triple t = graph.find(r, p, Node.ANY).next() ;
  return new GNode(graph, t.getObject()) ;
}

相关文章