-
Notifications
You must be signed in to change notification settings - Fork 164
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
GH-2333 merge rdf4j-doc master branch
- Loading branch information
Showing
49,581 changed files
with
15,845,395 additions
and
0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[submodule "site/themes/hugo-solstice-theme"] | ||
path = site/themes/hugo-solstice-theme | ||
url = https://github.com/EclipseFdn/hugo-solstice-theme.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<groupId>org.eclipse.rdf4j</groupId> | ||
<artifactId>examples</artifactId> | ||
<version>1.0-SNAPSHOT</version> | ||
<dependencyManagement> | ||
<dependencies> | ||
<dependency> | ||
<groupId>org.eclipse.rdf4j</groupId> | ||
<artifactId>rdf4j-bom</artifactId> | ||
<version>2.1.4</version> | ||
<type>pom</type> | ||
<scope>import</scope> | ||
</dependency> | ||
</dependencies> | ||
</dependencyManagement> | ||
<dependencies> | ||
<dependency> | ||
<groupId>org.eclipse.rdf4j</groupId> | ||
<artifactId>rdf4j-runtime</artifactId> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.eclipse.rdf4j</groupId> | ||
<artifactId>rdf4j-queryresultio-text</artifactId> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.slf4j</groupId> | ||
<artifactId>slf4j-simple</artifactId> | ||
<version>1.7.10</version> | ||
<scope>runtime</scope> | ||
</dependency> | ||
</dependencies> | ||
<build> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-compiler-plugin</artifactId> | ||
<version>3.6.0</version> | ||
<configuration> | ||
<source>1.8</source> | ||
<target>1.8</target> | ||
<encoding>utf8</encoding> | ||
</configuration> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
</project> |
74 changes: 74 additions & 0 deletions
74
examples/src/main/java/org/eclipse/rdf4j/examples/function/PalindromeFunction.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
/******************************************************************************* | ||
* Copyright (c) 2017 Eclipse RDF4J contributors. | ||
* All rights reserved. This program and the accompanying materials | ||
* are made available under the terms of the Eclipse Distribution License v1.0 | ||
* which accompanies this distribution, and is available at | ||
* http://www.eclipse.org/org/documents/edl-v10.php. | ||
*******************************************************************************/ | ||
package org.eclipse.rdf4j.examples.function; | ||
|
||
import org.eclipse.rdf4j.model.Literal; | ||
import org.eclipse.rdf4j.model.Value; | ||
import org.eclipse.rdf4j.model.ValueFactory; | ||
import org.eclipse.rdf4j.query.algebra.evaluation.ValueExprEvaluationException; | ||
import org.eclipse.rdf4j.query.algebra.evaluation.function.Function; | ||
|
||
/** | ||
* An example custom SPARQL function that detects palindromes | ||
* | ||
* @author Jeen Broekstra | ||
*/ | ||
public class PalindromeFunction implements Function { | ||
|
||
// define a constant for the namespace of our custom function | ||
public static final String NAMESPACE = "http://example.org/custom-function/"; | ||
|
||
/** | ||
* return the URI 'http://example.org/custom-function/palindrome' as a | ||
* String | ||
*/ | ||
public String getURI() { | ||
return NAMESPACE + "palindrome"; | ||
} | ||
|
||
/** | ||
* Executes the palindrome function. | ||
* | ||
* @return A boolean literal representing true if the input argument is a | ||
* palindrome, false otherwise. | ||
* @throws ValueExprEvaluationException | ||
* if more than one argument is supplied or if the supplied argument | ||
* is not a literal. | ||
*/ | ||
public Value evaluate(ValueFactory valueFactory, Value... args) | ||
throws ValueExprEvaluationException | ||
{ | ||
// our palindrome function expects only a single argument, so throw an error | ||
// if there's more than one | ||
if (args.length != 1) { | ||
throw new ValueExprEvaluationException( | ||
"palindrome function requires" + "exactly 1 argument, got " | ||
+ args.length); | ||
} | ||
Value arg = args[0]; | ||
// check if the argument is a literal, if not, we throw an error | ||
if (!(arg instanceof Literal)) { | ||
throw new ValueExprEvaluationException( | ||
"invalid argument (literal expected): " + arg); | ||
} | ||
|
||
// get the actual string value that we want to check for palindrome-ness. | ||
String label = ((Literal)arg).getLabel(); | ||
// we invert our string | ||
String inverted = ""; | ||
for (int i = label.length() - 1; i >= 0; i--) { | ||
inverted += label.charAt(i); | ||
} | ||
// a string is a palindrome if it is equal to its own inverse | ||
boolean palindrome = inverted.equalsIgnoreCase(label); | ||
|
||
// a function is always expected to return a Value object, so we | ||
// return our boolean result as a Literal | ||
return valueFactory.createLiteral(palindrome); | ||
} | ||
} |
53 changes: 53 additions & 0 deletions
53
examples/src/main/java/org/eclipse/rdf4j/examples/model/Example01BuildModel.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
/******************************************************************************* | ||
* Copyright (c) 2016 Eclipse RDF4J contributors. | ||
* All rights reserved. This program and the accompanying materials | ||
* are made available under the terms of the Eclipse Distribution License v1.0 | ||
* which accompanies this distribution, and is available at | ||
* http://www.eclipse.org/org/documents/edl-v10.php. | ||
*******************************************************************************/ | ||
package org.eclipse.rdf4j.examples.model; | ||
|
||
import org.eclipse.rdf4j.model.IRI; | ||
import org.eclipse.rdf4j.model.Model; | ||
import org.eclipse.rdf4j.model.Statement; | ||
import org.eclipse.rdf4j.model.ValueFactory; | ||
import org.eclipse.rdf4j.model.impl.SimpleValueFactory; | ||
import org.eclipse.rdf4j.model.impl.TreeModel; | ||
import org.eclipse.rdf4j.model.vocabulary.FOAF; | ||
import org.eclipse.rdf4j.model.vocabulary.RDF; | ||
|
||
/** | ||
* RDF Tutorial example 01: Building a simple RDF Model using Eclipse RDF4J | ||
* | ||
* @author Jeen Broekstra | ||
*/ | ||
public class Example01BuildModel { | ||
|
||
public static void main(String[] args) { | ||
|
||
// We use a ValueFactory to create the building blocks of our RDF statements: IRIs, blank nodes | ||
// and literals. | ||
ValueFactory vf = SimpleValueFactory.getInstance(); | ||
|
||
// We want to reuse this namespace when creating several building blocks. | ||
String ex = "http://example.org/"; | ||
|
||
// Create IRIs for the resources we want to add. | ||
IRI picasso = vf.createIRI(ex, "Picasso"); | ||
IRI artist = vf.createIRI(ex, "Artist"); | ||
|
||
// Create a new, empty Model object. | ||
Model model = new TreeModel(); | ||
|
||
// add our first statement: Picasso is an Artist | ||
model.add(picasso, RDF.TYPE, artist); | ||
|
||
// second statement: Picasso's first name is "Pablo". | ||
model.add(picasso, FOAF.FIRST_NAME, vf.createLiteral("Pablo")); | ||
|
||
// to see what's in our model, let's just print it to the screen | ||
for(Statement st: model) { | ||
System.out.println(st); | ||
} | ||
} | ||
} |
39 changes: 39 additions & 0 deletions
39
examples/src/main/java/org/eclipse/rdf4j/examples/model/Example02BuildModel.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/******************************************************************************* | ||
* Copyright (c) 2016 Eclipse RDF4J contributors. | ||
* All rights reserved. This program and the accompanying materials | ||
* are made available under the terms of the Eclipse Distribution License v1.0 | ||
* which accompanies this distribution, and is available at | ||
* http://www.eclipse.org/org/documents/edl-v10.php. | ||
*******************************************************************************/ | ||
package org.eclipse.rdf4j.examples.model; | ||
|
||
import org.eclipse.rdf4j.model.Model; | ||
import org.eclipse.rdf4j.model.Statement; | ||
import org.eclipse.rdf4j.model.util.ModelBuilder; | ||
import org.eclipse.rdf4j.model.vocabulary.FOAF; | ||
import org.eclipse.rdf4j.model.vocabulary.RDF; | ||
|
||
/** | ||
* RDF Tutorial example 02: Building a simple RDF Model using the RDF4J ModelBuilder | ||
* | ||
* @author Jeen Broekstra | ||
*/ | ||
public class Example02BuildModel { | ||
|
||
public static void main(String[] args) { | ||
|
||
// Create a new RDF model containing two statements by using a ModelBuilder | ||
ModelBuilder builder = new ModelBuilder(); | ||
Model model = builder | ||
.setNamespace("ex", "http://example.org/") | ||
.subject("ex:Picasso") | ||
.add(RDF.TYPE, "ex:Artist") // Picasso is an Artist | ||
.add(FOAF.FIRST_NAME, "Pablo") // his first name is "Pablo" | ||
.build(); | ||
|
||
// To see what's in our model, let's just print it to the screen | ||
for(Statement st: model) { | ||
System.out.println(st); | ||
} | ||
} | ||
} |
74 changes: 74 additions & 0 deletions
74
examples/src/main/java/org/eclipse/rdf4j/examples/model/Example03LiteralDatatypes.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
/******************************************************************************* | ||
* Copyright (c) 2016, 2017 Eclipse RDF4J contributors. | ||
* All rights reserved. This program and the accompanying materials | ||
* are made available under the terms of the Eclipse Distribution License v1.0 | ||
* which accompanies this distribution, and is available at | ||
* http://www.eclipse.org/org/documents/edl-v10.php. | ||
*******************************************************************************/ | ||
package org.eclipse.rdf4j.examples.model; | ||
|
||
import java.util.Date; | ||
|
||
import javax.xml.datatype.XMLGregorianCalendar; | ||
|
||
import org.eclipse.rdf4j.model.IRI; | ||
import org.eclipse.rdf4j.model.Literal; | ||
import org.eclipse.rdf4j.model.Model; | ||
import org.eclipse.rdf4j.model.Statement; | ||
import org.eclipse.rdf4j.model.Value; | ||
import org.eclipse.rdf4j.model.ValueFactory; | ||
import org.eclipse.rdf4j.model.impl.SimpleValueFactory; | ||
import org.eclipse.rdf4j.model.util.ModelBuilder; | ||
import org.eclipse.rdf4j.model.vocabulary.XMLSchema; | ||
|
||
/** | ||
* RDF Tutorial example 03: Datatyped literals | ||
* | ||
* @author Jeen Broekstra | ||
*/ | ||
public class Example03LiteralDatatypes { | ||
|
||
public static void main(String[] args) { | ||
|
||
ValueFactory vf = SimpleValueFactory.getInstance(); | ||
|
||
// Create a new RDF model containing information about the painting "The Potato Eaters" | ||
ModelBuilder builder = new ModelBuilder(); | ||
Model model = builder | ||
.setNamespace("ex", "http://example.org/") | ||
.subject("ex:PotatoEaters") | ||
// this painting was created on April 1, 1885 | ||
.add("ex:creationDate", vf.createLiteral("1885-04-01T00:00:00Z", XMLSchema.DATETIME)) | ||
// You can also pass in a Java Date object directly: | ||
//.add("ex:creationDate", new GregorianCalendar(1885, Calendar.APRIL, 1).getTime()) | ||
|
||
// the painting shows 5 people | ||
.add("ex:peopleDepicted", 5) | ||
.build(); | ||
|
||
// To see what's in our model, let's just print stuff to the screen | ||
for(Statement st: model) { | ||
// we want to see the object values of each property | ||
IRI property = st.getPredicate(); | ||
Value value = st.getObject(); | ||
if (value instanceof Literal) { | ||
Literal literal = (Literal)value; | ||
System.out.println("datatype: " + literal.getDatatype()); | ||
|
||
// get the value of the literal directly as a Java primitive. | ||
if (property.getLocalName().equals("peopleDepicted")) { | ||
int peopleDepicted = literal.intValue(); | ||
System.out.println(peopleDepicted + " people are depicted in this painting"); | ||
} | ||
else if (property.getLocalName().equals("creationDate")) { | ||
XMLGregorianCalendar calendar = literal.calendarValue(); | ||
Date date = calendar.toGregorianCalendar().getTime(); | ||
System.out.println("The painting was created on " + date); | ||
} | ||
|
||
// you can also just get the lexical value (a string) without worrying about the datatype | ||
System.out.println("Lexical value: '" + literal.getLabel() + "'"); | ||
} | ||
} | ||
} | ||
} |
52 changes: 52 additions & 0 deletions
52
examples/src/main/java/org/eclipse/rdf4j/examples/model/Example04LanguageTags.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/******************************************************************************* | ||
* Copyright (c) 2016, 2017 Eclipse RDF4J contributors. | ||
* All rights reserved. This program and the accompanying materials | ||
* are made available under the terms of the Eclipse Distribution License v1.0 | ||
* which accompanies this distribution, and is available at | ||
* http://www.eclipse.org/org/documents/edl-v10.php. | ||
*******************************************************************************/ | ||
package org.eclipse.rdf4j.examples.model; | ||
|
||
import org.eclipse.rdf4j.model.Literal; | ||
import org.eclipse.rdf4j.model.Model; | ||
import org.eclipse.rdf4j.model.Statement; | ||
import org.eclipse.rdf4j.model.Value; | ||
import org.eclipse.rdf4j.model.ValueFactory; | ||
import org.eclipse.rdf4j.model.impl.SimpleValueFactory; | ||
import org.eclipse.rdf4j.model.util.ModelBuilder; | ||
import org.eclipse.rdf4j.model.vocabulary.DC; | ||
|
||
/** | ||
* RDF Tutorial example 04: Language tags | ||
* | ||
* @author Jeen Broekstra | ||
*/ | ||
public class Example04LanguageTags { | ||
|
||
public static void main(String[] args) { | ||
|
||
ValueFactory vf = SimpleValueFactory.getInstance(); | ||
|
||
// Create a new RDF model containing some information about the painting "The Potato Eaters" | ||
ModelBuilder builder = new ModelBuilder(); | ||
Model model = builder | ||
.setNamespace("ex", "http://example.org/") | ||
.subject("ex:PotatoEaters") | ||
// In English, this painting is called "The Potato Eaters" | ||
.add(DC.TITLE, vf.createLiteral("The Potato Eaters", "en")) | ||
// In Dutch, it's called "De Aardappeleters" | ||
.add(DC.TITLE, vf.createLiteral("De Aardappeleters", "nl")) | ||
.build(); | ||
|
||
// To see what's in our model, let's just print it to the screen | ||
for(Statement st: model) { | ||
// we want to see the object values of each statement | ||
Value value = st.getObject(); | ||
if (value instanceof Literal) { | ||
Literal title = (Literal)value; | ||
System.out.println("language: " + title.getLanguage().orElse("unknown")); | ||
System.out.println(" title: " + title.getLabel()); | ||
} | ||
} | ||
} | ||
} |
Oops, something went wrong.