Skip to content

Commit

Permalink
Merge main into develop (#4917)
Browse files Browse the repository at this point in the history
  • Loading branch information
hmottestad authored Feb 21, 2024
2 parents a758a25 + c259fdf commit 5e9dd5b
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,9 @@ public class ValueExprTripleRef extends AbstractQueryModelNode implements ValueE

public ValueExprTripleRef(String extName, Var s, Var p, Var o) {
this.exprVarName = extName;
subjectVar = s;
predicateVar = p;
objectVar = o;

subjectVar.setParentNode(this);
predicateVar.setParentNode(this);
objectVar.setParentNode(this);
setSubjectVar(s);
setPredicateVar(p);
setObjectVar(o);
}

public String getExtVarName() {
Expand All @@ -45,6 +41,21 @@ public Var getObjectVar() {
return objectVar;
}

private void setSubjectVar(Var s) {
subjectVar = s;
subjectVar.setParentNode(this);
}

private void setPredicateVar(Var p) {
predicateVar = p;
predicateVar.setParentNode(this);
}

private void setObjectVar(Var o) {
objectVar = o;
objectVar.setParentNode(this);
}

@Override
public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X {
if (subjectVar != null) {
Expand Down Expand Up @@ -84,17 +95,16 @@ public ValueExprTripleRef clone() {
@Override
public <X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X {
visitor.meetOther(this);
// visitChildren(visitor);
}

@Override
public void replaceChildNode(QueryModelNode current, QueryModelNode replacement) {
if (subjectVar == current) {
subjectVar = (Var) replacement;
setSubjectVar((Var) replacement);
} else if (predicateVar == current) {
predicateVar = (Var) replacement;
setPredicateVar((Var) replacement);
} else if (objectVar == current) {
objectVar = (Var) replacement;
setObjectVar((Var) replacement);
} else {
throw new IllegalArgumentException("Node is not a child node: " + current);
}
Expand Down
2 changes: 1 addition & 1 deletion site/content/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ The [MarkLogic RDF4J API](https://github.com/marklogic/marklogic-rdf4j) is a ful

#### Strabon

[Strabon](http://www.strabon.di.uoa.gr/) is a spatiotemporal RDF store based on RDF4J. You can use it to store linked geospatial data that changes over time and pose queries using two popular extensions of SPARQL. Strabon supports spatial datatypes enabling the serialization of geometric objects in OGC standards WKT and GML. It also offers spatial and temporal selections, spatial and temporal joins, a rich set of spatial functions similar to those offered by geospatial relational database systems and support for multiple Coordinate Reference Systems. Strabon can be used to model temporal domains and concepts such as events, facts that change over time etc. through its support for valid time of triples, and a rich set of temporal functions.
[Strabon](http://strabon.di.uoa.gr/) is a spatiotemporal RDF store based on RDF4J. You can use it to store linked geospatial data that changes over time and pose queries using two popular extensions of SPARQL. Strabon supports spatial datatypes enabling the serialization of geometric objects in OGC standards WKT and GML. It also offers spatial and temporal selections, spatial and temporal joins, a rich set of spatial functions similar to those offered by geospatial relational database systems and support for multiple Coordinate Reference Systems. Strabon can be used to model temporal domains and concepts such as events, facts that change over time etc. through its support for valid time of triples, and a rich set of temporal functions.

#### Openlink Virtuoso RDF4J Provider

Expand Down

0 comments on commit 5e9dd5b

Please sign in to comment.