Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package it.unibz.krdb.obda.sesame;
  
  /*
   * #%L
   * ontop-obdalib-sesame
   * %%
   * Copyright (C) 2009 - 2014 Free University of Bozen-Bolzano
   * %%
   * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  * #L%
  */
 
 
 
 
 public class SesameRDFIterator extends RDFHandlerBase implements Iterator<Assertion> {
 	
 	private final OBDADataFactory obdafac = OBDADataFactoryImpl.getInstance();
 	private final OntologyFactory ofac = OntologyFactoryImpl.getInstance();
 
 	private int size = 50000;
 	
 	private boolean endRDF = false;
 	private boolean fromIterator = false;
 
 	public SesameRDFIterator() {
 	}
 
 		this. = it;
 		this. = true;
 	}
 
 	public void startRDF() throws RDFHandlerException {
 		 = false;
 	}
 
 	public void endRDF() throws RDFHandlerException {
 		 = true;
 	}
 
 	public void handleStatement(Statement stthrows RDFHandlerException {
 		// Add statement to buffer
 		try {
 			.put(st);
 		} catch (InterruptedException e) {
 		}
 	}
 
 	public boolean hasNext() {
 		if () {
 			return .hasNext();
 		}
 		else {
 			Statement stmt = .peek();
 			if (stmt == null) {
 				if () {
 					return false;
 				} else {
 					return true;
 				}
 			}
 			return true;
		}
	}
	public Assertion next() {
		Statement stmt = null;
		if () {
			stmt = .next();
else {
			try {
				stmt = .take();
catch (InterruptedException e) {
			}
		}
		if (stmt == null) {
			if (!hasNext()) {
			}
		}
		Assertion assertion = constructAssertion(stmt);
		return assertion;
	}

Constructs an ABox assertion with the data from the current result set. This can be a Class, Object or Data Property assertion. It is a class assertion if the predicate is rdf:type. Its an Object property if the predicate is not type and the object is URI or BNode. Its a data property if the predicate is not rdf:type and the object is a Literal.
		Resource currSubject = st.getSubject();
		ObjectConstant c = null;
		if (currSubject instanceof URI) {
			c = .getConstantURI(currSubject.stringValue());
else if (currSubject instanceof BNode) {
			c = .getConstantBNode(currSubject.stringValue());
else {
			throw new RuntimeException("Unsupported subject found in triple: "st.toString() + " (Required URI or BNode)");
		}
		URI currPredicate = st.getPredicate();
		Value currObject = st.getObject();
		Predicate currentPredicate = null;
		if (currObject instanceof Literal) {
			currentPredicate = .getDataPropertyPredicate(currPredicate.stringValue());
else {
			String predStringValue = currPredicate.stringValue();
			if (predStringValue.equals(.)) {
//				if (!(predStringValue.endsWith("/owl#Thing"))
//						|| predStringValue.endsWith("/owl#Nothing")
//						|| predStringValue.endsWith("/owl#Ontology")) {
					currentPredicate = .getClassPredicate(currObject.stringValue());
//				} else {
//					return null;
//				}
else {
				currentPredicate = .getObjectPropertyPredicate(currPredicate.stringValue());
			}
		}
		// Create the assertion
		Assertion assertion = null;
		if (currentPredicate.getArity() == 1) {
			assertion = .createClassAssertion(currentPredicatec);
else if (currentPredicate.getArity() == 2) {
			if (currObject instanceof URI) {
				c2 = .getConstantURI(currObject.stringValue());
else if (currObject instanceof BNode) {
				c2 = .getConstantBNode(currObject.stringValue());
else if (currObject instanceof Literal) {
				Literal l = (LiteralcurrObject;
				String lang = l.getLanguage();
				if (lang == null) {
else {
				}
else {
				throw new RuntimeException("Unsupported object found in triple: " + st.toString() + " (Required URI, BNode or Literal)");
			}
			assertion = .createPropertyAssertion(currentPredicatecc2);
else {
			throw new RuntimeException("Unsupported statement: " + st.toString());
		}
		return assertion;
	}
	private Predicate.COL_TYPE getColumnType(URI datatype) {
		if (datatype == null) {
else if (datatype.stringValue().equals(.)) {
else if (datatype.stringValue().equals(.)) {
else if (datatype.stringValue().equals(.)) {
else if (datatype.stringValue().equals(.)) {
else if (datatype.stringValue().equals(.)) {
else if (datatype.stringValue().equals(.)) {
else if (datatype.stringValue().equals(.)) {
		}
	}

Removes the entry at the beginning in the buffer.
	public void remove() {
	}
New to GrepCode? Check out our FAQ X