org.linkeddatafragments.util.TriplePatternElementParserForJena Maven / Gradle / Ivy
package org.linkeddatafragments.util;
import org.apache.jena.datatypes.RDFDatatype;
import org.apache.jena.datatypes.TypeMapper;
import org.apache.jena.rdf.model.RDFNode;
import org.apache.jena.rdf.model.ResourceFactory;
/**
* A {@link TriplePatternElementParser} for Jena-based backends.
*
* @author Olaf Hartig
*/
public class TriplePatternElementParserForJena
extends TriplePatternElementParser
{
private static TriplePatternElementParserForJena instance = null;
/**
*
* @return
*/
public static TriplePatternElementParserForJena getInstance()
{
if ( instance == null ) {
instance = new TriplePatternElementParserForJena();
}
return instance;
}
/**
*
*/
protected TriplePatternElementParserForJena() {}
/**
*
* @param varName
* @return
*/
@Override
public String createNamedVariable( final String varName )
{
return varName;
}
/**
*
* @param label
* @return
*/
@Override
public String createAnonymousVariable( final String label )
{
return label;
}
/**
*
* @param label
* @return
*/
@Override
public RDFNode createBlankNode(final String label )
{
return ResourceFactory.createResource();
}
/**
*
* @param uri
* @return
*/
@Override
public RDFNode createURI(final String uri )
{
return ResourceFactory.createResource( uri );
}
/**
*
* @param label
* @param typeURI
* @return
*/
@Override
public RDFNode createTypedLiteral(final String label,
final String typeURI )
{
final RDFDatatype dt = TypeMapper.getInstance()
.getSafeTypeByName( typeURI );
return ResourceFactory.createTypedLiteral( label, dt );
}
/**
*
* @param label
* @param languageTag
* @return
*/
@Override
public RDFNode createLanguageLiteral(final String label,
final String languageTag )
{
return ResourceFactory.createLangLiteral( label, languageTag );
}
/**
*
* @param label
* @return
*/
@Override
public RDFNode createPlainLiteral(final String label )
{
return ResourceFactory.createPlainLiteral( label );
}
/**
*
* @param parameter
* @return
*/
@Override
public RDFNode handleUnparsableParameter(final String parameter )
{
return CommonResources.INVALID_URI;
}
}