Difference between revisions of "Java Examples"

From Info216
Line 108: Line 108:
 
 
 
try {
 
try {
model.read(new FileInputStream("test.ttl"),  
+
model.read(new FileInputStream("test.ttl"), "http://ex.org/", "TURTLE");
  "http://ex.org/", "TURTLE");
 
 
} catch (Exception e) {
 
} catch (Exception e) {
 
// TODO: handle exception
 
// TODO: handle exception

Revision as of 13:48, 19 January 2017

Here are the code examples we have used in the live sessions during the lectures - along with a few additional ones.

Lecture 1: Java, Jena

HelloJena.java

package no.uib.sinoa.info216;

import org.apache.jena.rdf.model.Model;
import org.apache.jena.rdf.model.ModelFactory;
import org.apache.jena.rdf.model.Resource;
import org.apache.jena.vocabulary.FOAF;

public class HelloJena {

	public static void main(String[] args) {
		
		Model model = ModelFactory.createDefaultModel();
		
		Resource andreas = model.createResource("http://no.uib.infomedia.info216.ex/CadeTracy");
		andreas.addLiteral(FOAF.name, "Cade Tracy");
		
		model.write(System.out, "TURTLE");
	}	
}

Lecture 2: RDF

Resource objects

package no.uib.infomedia.info216;

...

public class HelloJena {
	public static void main(String[] args) {
		String iriBase = "http://no.uib.infomedia.info216/";
		String iriDbpedia = "http://dbpedia.org/resource/";
		
		Model model = ModelFactory.createDefaultModel();
		
		Resource resCadeTracy = model.createResource(iriBase + "Cade_Tracy");
		resCadeTracy.addLiteral(FOAF.name, "Cade Tracy");
		
		Resource resCanada = model.createResource(iriDbpedia + "Canada");
		Resource resFrance = model.createResource(iriDbpedia + "France");
		Property propVisited = model.createProperty(iriBase + "visited");
		resCadeTracy.addProperty(propVisited, resCanada);
		resCadeTracy.addProperty(propVisited, resFrance);

		model.write(System.out, "TURTLE");
	}
}

Language-tagged literals

		resFrance.addProperty(RDFS.label, "Frankrike", "no");
		resFrance.addProperty(RDFS.label, "France", "en");
		resFrance.addProperty(RDFS.label, "Francia", "es");

Typed literals

		Property propPopEst = model.createProperty(iriDbpedia + "ontology/populationEstimate");
		resFrance.addProperty(propPopEst, "66644000.0", XSDDatatype.XSDdecimal);

Looping through statements

 

Selecting statements

 

Writing to file

		try {
			model.write(new FileOutputStream("test.ttl"), "TURTLE");
		} catch (Exception e) {
			// TODO: handle exception
		}

Contents of test.ttl

<http://no.uib.infomedia.info216/Cade_Tracy>
        <http://no.uib.infomedia.info216/visited>
                <http://dbpedia.org/resource/France> , <http://dbpedia.org/resource/Canada> ;
        <http://xmlns.com/foaf/0.1/name>
                "Cade Tracy" .

<http://dbpedia.org/resource/France>
        <http://www.w3.org/2000/01/rdf-schema#label>
                "Francia"@es , "France"@en , "Frankrike"@no ;
        <http://dbpedia.org/resource/ontology/populationEstimate>
                66644000.0 .

Reading from file

package no.uib.infomedia.sinoa.info216;

import java.io.FileInputStream;

import org.apache.jena.rdf.model.Model;
import org.apache.jena.rdf.model.ModelFactory;

public class ReadJena {

	public static void main(String[] args) {
		Model model = ModelFactory.createDefaultModel();
		
		try {
			model.read(new FileInputStream("test.ttl"), "http://ex.org/", "TURTLE");
		} catch (Exception e) {
			// TODO: handle exception
		}
		
		model.write(System.out);
	}
}

Reading from web resource

package no.uib.infomedia.sinoa.info216;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import org.apache.jena.rdf.model.Model;
import org.apache.jena.rdf.model.ModelFactory;

public class HttpTest {

	public static void main(String[] args) {
		Model model = ModelFactory.createDefaultModel();
		
		try {
			URL url = new URL("http://people.uib.no/sinoa/test.ttl");   
			HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();  
			InputStream is = urlConnection.getInputStream();
			model.read(is, "http://ex.org/", "TURTLE");
		} catch (Exception e) {
			// TODO: handle exception
		}
		
		model.write(System.out);
	}
}
INFO216, UiB, Spring 2017, Prof. Andreas L. Opdahl (c)