LanguageTools.java :  » Search-Engine » semweb4j » org » ontoware » rdf2go » util » Java Open Source

Java Open Source » Search Engine » semweb4j 
semweb4j » org » ontoware » rdf2go » util » LanguageTools.java
package org.ontoware.rdf2go.util;

import org.ontoware.aifbcommons.collection.ClosableIterator;
import org.ontoware.rdf2go.RDF2Go;
import org.ontoware.rdf2go.model.Model;
import org.ontoware.rdf2go.model.Statement;
import org.ontoware.rdf2go.model.node.LanguageTagLiteral;

public class LanguageTools {

  /**
   * Deletes all literals except the ones in the desired language.
   * 
   * Removes all languatagges literals that DO NOT start with the 'language' string.
   * 
   * @param model
   * @param language
   * @return a Model that contains only literals in the desired language
   */
  public static Model selectLanguage( Model model, String language ) {
    Model result = RDF2Go.getModelFactory().createModel();
    result.open();
    ClosableIterator<Statement> it = model.iterator();
    while (it.hasNext()) {
      Statement s = it.next();
      if (s.getObject() instanceof LanguageTagLiteral) {
        LanguageTagLiteral lit = s.getObject().asLanguageTagLiteral();
        if (lit.getLanguageTag().startsWith(language)) {
          result.addStatement(s);
        } 
        // else don't copy
      } else {
        result.addStatement(s);
      }
    }
    it.close();
    return result;
  }
  
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.