package org.mindswap.swoop.automation;
/*
* Created on Feb 22, 2006
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
/**
* @author Dave Wang
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class FiletypeIdentifier
{
public static final String OWL = "OWL";
public static final String RDFS = "RDFS";
public static final String RDF = "RDF";
public static final String UNKNOWN = "UNKNOWN";
public static final String BROKEN = "BROKEN";
public static void writeFileType( String uriFile, String outputfile, int num )
{
BufferedWriter writer = null;
String uri = null;
try
{
int counter = 1;
writer = new BufferedWriter( new FileWriter(outputfile) );
BufferedReader reader = new BufferedReader( new FileReader(uriFile) );
uri = null;
while ( counter < num )
{
uri = reader.readLine();
counter++;
}
while ( ( uri = reader.readLine() ) != null)
{
try
{
System.err.println("working on the ["+ counter +"]th document.");
counter++;
URL url = new URL( uri );
URLConnection myConnection = url.openConnection();
BufferedReader myReader = new BufferedReader( new InputStreamReader(myConnection.getInputStream()) );
String line = null;
boolean hasOWL = false;
boolean hasRDFS = false;
boolean hasRDF = false;
int linecount = 0;
while ( ( line = myReader.readLine()) != null )
{
if ( line.indexOf("http://www.w3.org/2002/07/owl") != -1 )
hasOWL = true;
else if ( line.indexOf("http://www.w3.org/2000/01/rdf-schema") != -1 )
hasRDFS = true;
else if ( line.indexOf("http://www.w3.org/1999/02/22-rdf-syntax-ns") != -1 )
hasRDF = true;
linecount++;
if ( linecount > 100 )
break;
}
if ( hasOWL )
writer.write( uri + "\t" + OWL);
else if ( hasRDFS )
writer.write( uri + "\t" + RDFS);
else if ( hasRDF )
writer.write( uri + "\t" + RDF);
else
writer.write( uri + "\t" + UNKNOWN);
writer.newLine();
writer.flush();
}
catch ( Exception e )
{
e.printStackTrace();
try
{
writer.write( uri + "\t" + BROKEN );
writer.newLine();
writer.flush();
}
catch ( Exception ex )
{ ex.printStackTrace(); }
}
}
}
catch ( Exception e )
{ e.printStackTrace(); }
}
public static void main( String [] args )
{
FiletypeIdentifier.writeFileType( "URIS_noDaml.txt", "Filetypes.txt", 1);
}
}