[MOBY-guts] biomoby commit

Eddie Kawas kawas at pub.open-bio.org
Tue Sep 6 21:29:10 UTC 2005


kawas
Tue Sep  6 17:29:10 EDT 2005
Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/schema
In directory pub.open-bio.org:/tmp/cvs-serv4557/org/biomoby/shared/schema

Modified Files:
	RdfParser.java 
Log Message:
Removed some imports statements that werent used.
Added a check that basically checks if a certain property exists for a datatype and if not then null is returned.

moby-live/Java/src/main/org/biomoby/shared/schema RdfParser.java,1.1,1.2
===================================================================
RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/schema/RdfParser.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/schema/RdfParser.java	2005/08/30 18:34:11	1.1
+++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/schema/RdfParser.java	2005/09/06 21:29:10	1.2
@@ -1,269 +1,269 @@
-/*
- * Created on Jun 17, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.biomoby.shared.schema;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.StringReader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.LinkedList;
-
-import org.biomoby.client.rdf.vocabulary.Predicates;
-import org.biomoby.client.ui.graphical.servlet.jresources.RESOURCE;
-import org.biomoby.shared.MobyException;
-
-import com.hp.hpl.jena.graph.Node;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.ModelFactory;
-import com.hp.hpl.jena.rdf.model.NodeIterator;
-import com.hp.hpl.jena.rdf.model.Property;
-import com.hp.hpl.jena.rdf.model.RDFNode;
-import com.hp.hpl.jena.rdf.model.RDFReader;
-import com.hp.hpl.jena.rdf.model.Resource;
-import com.hp.hpl.jena.rdf.model.Statement;
-import com.hp.hpl.jena.rdf.model.StmtIterator;
-import com.hp.hpl.jena.vocabulary.RDF;
-import com.hp.hpl.jena.vocabulary.RDFS;
-
-/**
- * @author Eddie
- * 
- * TODO To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Style - Code Templates
- */
-public class RdfParser {
-
-	public static String OBJECT_URI = "http://biomoby.org/RESOURCES/MOBY-S/Objects#";
-
-	public static MElement buildMElement(String name) {
-		String rdf = null;
-		try {
-			rdf = getObjectRdf();
-		} catch (MobyException e) {
-			e.printStackTrace();
-		}
-		// return null if i cant build the element
-		if (rdf == null)
-			return null;
-
-		// create the model
-		Model model = ModelFactory.createDefaultModel(); // the RESOURCE model
-		RDFReader reader = model.getReader();
-		reader.read(model, new StringReader(rdf), null);
-
-		// start querying model for what we need and create the MElement
-		String rootDescription = getDescription(model, name);
-		MElement root = new MElement(name, "", rootDescription);
-		String rootsParent = getParentDataType(model, name);
-		if (rootsParent == null)
-			rootsParent = "";
-		if (MElement.isPrimitive(rootsParent)) {
-			root.setType(rootsParent);
-		} else {
-			root.setType(null);
-		}
-		// go through the isa relationships and extract the has/hasa
-		processRelationships(root, model, name);
-
-		return root;
-	}
-
-	/**
-	 * @param root
-	 * @param model
-	 * @param name
-	 */
-	private static void processRelationships(MElement root, Model model, String name) {
-		if (name.indexOf("#") > 0) {
-			name = name.substring(name.indexOf("#")+1);
-		}
-		Resource resource = model.getResource(OBJECT_URI + name);
-		if (resource.hasProperty(RDFS.subClassOf)) {
-            String parent = resource.getProperty(RDFS.subClassOf)
-                    .getObject().asNode().getURI();
-            processRelationships(root, model, parent);
-        }
-		// process the has children
-		processChildrenTypes(root, model, Predicates.has, name);
-		// process the hasa children
-		processChildrenTypes(root, model, Predicates.hasa, name);
-	}
-
-	/**
-	 * @param root
-	 * @param model
-	 * @param has
-	 * @param name
-	 */
-	private static void processChildrenTypes(MElement root, Model model,
-			Property property, String name) {
-		Resource resource = model.getResource(OBJECT_URI + name);
-		StmtIterator iterator = resource.listProperties(property);
-		if (iterator != null)
-			while (iterator.hasNext()) {
-				Statement next = (Statement) iterator.next();
-				RDFNode object = next.getObject();
-				if (object instanceof Resource) {
-					Resource child = (Resource) object;
-					String qualifiedName = null;
-					String childName = "";
-					String childArticleName = "";
-					String childDescription = "";
-					if (child.hasProperty(RDF.type)) {
-						qualifiedName = child.getProperty(RDF.type).getObject()
-								.toString();
-						childName = stripOutURI(child.getProperty(RDF.type)
-								.getObject().toString());
-					}
-					if (child.hasProperty(Predicates.articleName)) {
-						childArticleName = stripOutLiteral(child.getProperty(
-								Predicates.articleName).getObject().toString());
-					}
-					childDescription = stripOutLiteral(model.getResource(
-							qualifiedName).getProperty(RDFS.comment)
-							.getObject().toString());
-
-					MElement element = new MElement(childName,
-							childArticleName, childDescription);
-					String rootsParent = getParentDataType(model, childName);
-					if (MElement.isPrimitive(rootsParent)) {
-						element.setType(rootsParent);
-					} else {
-						element.setType(null);
-					}
-					processChildrenTypes(element, model, Predicates.has,
-							childName);
-					processChildrenTypes(element, model, Predicates.hasa,
-							childName);
-					if (property.getLocalName().equalsIgnoreCase("hasa")) {
-						root.addHasaMElement(element);
-					} else {
-						root.addHasMElement(element);
-					}
-				}
-			}
-	}
-
-	/**
-	 * @param model
-	 * @param name
-	 * @return
-	 */
-	private static String getParentDataType(Model model, String name) {
-
-		// the statement should return null iff the object is the Moby root
-		// object
-		if (name.equals("Object"))
-			return null;
-		LinkedList list = new LinkedList();
-		list.addFirst(name);
-		name = OBJECT_URI + name;
-		String parent = "";
-		String previousParent = "";
-		Resource resource = model.getResource(name);
-		Statement statement = resource.getProperty(RDFS.subClassOf);
-		do {
-			parent = statement.getObject().toString();
-			if (!((String) list.getFirst()).equals(parent)) {
-				list.addFirst(parent);
-			}
-			resource = model.getResource(parent);
-			statement = resource.getProperty(RDFS.subClassOf);
-
-		} while (statement != null);
-		// check to see if we have a primitive
-		parent = (String) list.removeFirst();
-		if (list.size() > 0) {
-			previousParent = (String) list.removeFirst();
-			previousParent = stripOutURI(previousParent);
-			if (MElement.isPrimitive(previousParent)) {
-				return previousParent;
-			}
-		}
-		// no primitive parent, so every object inherits from object
-		parent = stripOutURI(parent);
-		return parent;
-	}
-
-	/**
-	 * @param model
-	 * @param name
-	 * @return
-	 */
-	private static String getDescription(Model model, String name) {
-		Resource resource = model.getResource(OBJECT_URI + name);
-		Statement comment = resource.getProperty(RDFS.comment);
-		String description = comment.getObject().toString();
-		description = stripOutLiteral(description);
-		return description;
-	}
-
-	private static String getObjectRdf() throws MobyException {
-		String s = null;
-		StringBuffer sb = new StringBuffer();
-		URL url = null;
-		try {
-			url = new URL(OBJECT_URI);
-		} catch (MalformedURLException e1) {
-			e1.printStackTrace();
-			return null;
-		}
-		try {
-			BufferedReader in = null;
-	        in = new BufferedReader(new InputStreamReader(url.openStream()));
-	        while ((s = in.readLine()) != null) {
-	        	sb.append(s);
-	        }
-			
-		} catch (IOException e) {
-			e.printStackTrace();
-			return null;
-		}
-		return sb.toString();
-	}
-
-	private static String stripOutURI(String object) {
-		if (object.indexOf("#") > 0)
-			object = object.substring(object.indexOf("#") + 1);
-		return object;
-	}
-
-	private static String stripOutLiteral(String object) {
-		if (object.indexOf("~") > 0)
-			object = object.substring(0, object.indexOf("~"));
-		return object;
-	}
-
-	public static void main(String[] args) {
-		System.out.println("Is it me?");
-		System.out.println("\nOutput Imag Object\n");
-		System.out.println(RdfParser.buildMElement("DNASequence"));
-/*		System.out.println("###########################################");
-		System.out.println("Outputting a String object");
-		System.out.println(RdfParser.buildMElement("String"));
-
-		System.out.println("###########################################");
-		System.out.println("Outputting the base object");
-		System.out.println(RdfParser.buildMElement("Object"));
-
-		System.out.println("###########################################");
-		System.out.println("Outputting a DNA sequence object");
-		System.out.println(RdfParser.buildMElement("DNASequence"));
-
-		System.out.println("###########################################");
-		System.out.println("Outputting a GFF object");
-		System.out.println(RdfParser.buildMElement("GFF"));
-
-		System.out.println("###########################################");
-		System.out.println("Outputting a BasicGFFSequenceFeature object");
-		System.out.println(RdfParser.buildMElement("BasicGFFSequenceFeature"));
-*/
-	}
-}
+/*
+ * Created on Jun 17, 2005
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.biomoby.shared.schema;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.StringReader;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.LinkedList;
+
+import org.biomoby.client.rdf.vocabulary.Predicates;
+import org.biomoby.shared.MobyException;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.Property;
+import com.hp.hpl.jena.rdf.model.RDFNode;
+import com.hp.hpl.jena.rdf.model.RDFReader;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.rdf.model.StmtIterator;
+import com.hp.hpl.jena.vocabulary.RDF;
+import com.hp.hpl.jena.vocabulary.RDFS;
+
+/**
+ * @author Eddie
+ * 
+ * TODO To change the template for this generated type comment go to Window -
+ * Preferences - Java - Code Style - Code Templates
+ */
+public class RdfParser {
+
+	public static String OBJECT_URI = "http://biomoby.org/RESOURCES/MOBY-S/Objects#";
+
+	public static MElement buildMElement(String name) {
+		String rdf = null;
+		try {
+			rdf = getObjectRdf();
+		} catch (MobyException e) {
+			e.printStackTrace();
+		}
+		// return null if i cant build the element
+		if (rdf == null)
+			return null;
+
+		// create the model
+		Model model = ModelFactory.createDefaultModel(); // the RESOURCE model
+		RDFReader reader = model.getReader();
+		reader.read(model, new StringReader(rdf), null);
+
+		// check if a certain property exists to ensure that you a valid object
+		if (model.getResource(OBJECT_URI + name).getProperty(RDFS.comment) == null) {
+		    return null;
+		}
+		// start querying model for what we need and create the MElement
+		String rootDescription = getDescription(model, name);
+		MElement root = new MElement(name, "", rootDescription);
+		String rootsParent = getParentDataType(model, name);
+		if (rootsParent == null)
+			rootsParent = "";
+		if (MElement.isPrimitive(rootsParent)) {
+			root.setType(rootsParent);
+		} else {
+			root.setType(null);
+		}
+		// go through the isa relationships and extract the has/hasa
+		processRelationships(root, model, name);
+
+		return root;
+	}
+
+	/**
+	 * @param root
+	 * @param model
+	 * @param name
+	 */
+	private static void processRelationships(MElement root, Model model, String name) {
+		if (name.indexOf("#") > 0) {
+			name = name.substring(name.indexOf("#")+1);
+		}
+		Resource resource = model.getResource(OBJECT_URI + name);
+		if (resource.hasProperty(RDFS.subClassOf)) {
+            String parent = resource.getProperty(RDFS.subClassOf)
+                    .getObject().asNode().getURI();
+            processRelationships(root, model, parent);
+        }
+		// process the has children
+		processChildrenTypes(root, model, Predicates.has, name);
+		// process the hasa children
+		processChildrenTypes(root, model, Predicates.hasa, name);
+	}
+
+	/**
+	 * @param root
+	 * @param model
+	 * @param has
+	 * @param name
+	 */
+	private static void processChildrenTypes(MElement root, Model model,
+			Property property, String name) {
+		Resource resource = model.getResource(OBJECT_URI + name);
+		StmtIterator iterator = resource.listProperties(property);
+		if (iterator != null)
+			while (iterator.hasNext()) {
+				Statement next = (Statement) iterator.next();
+				RDFNode object = next.getObject();
+				if (object instanceof Resource) {
+					Resource child = (Resource) object;
+					String qualifiedName = null;
+					String childName = "";
+					String childArticleName = "";
+					String childDescription = "";
+					if (child.hasProperty(RDF.type)) {
+						qualifiedName = child.getProperty(RDF.type).getObject()
+								.toString();
+						childName = stripOutURI(child.getProperty(RDF.type)
+								.getObject().toString());
+					}
+					if (child.hasProperty(Predicates.articleName)) {
+						childArticleName = stripOutLiteral(child.getProperty(
+								Predicates.articleName).getObject().toString());
+					}
+					childDescription = stripOutLiteral(model.getResource(
+							qualifiedName).getProperty(RDFS.comment)
+							.getObject().toString());
+
+					MElement element = new MElement(childName,
+							childArticleName, childDescription);
+					String rootsParent = getParentDataType(model, childName);
+					if (MElement.isPrimitive(rootsParent)) {
+						element.setType(rootsParent);
+					} else {
+						element.setType(null);
+					}
+					processChildrenTypes(element, model, Predicates.has,
+							childName);
+					processChildrenTypes(element, model, Predicates.hasa,
+							childName);
+					if (property.getLocalName().equalsIgnoreCase("hasa")) {
+						root.addHasaMElement(element);
+					} else {
+						root.addHasMElement(element);
+					}
+				}
+			}
+	}
+
+	/**
+	 * @param model
+	 * @param name
+	 * @return
+	 */
+	private static String getParentDataType(Model model, String name) {
+
+		// the statement should return null iff the object is the Moby root
+		// object
+		if (name.equals("Object"))
+			return null;
+		LinkedList list = new LinkedList();
+		list.addFirst(name);
+		name = OBJECT_URI + name;
+		String parent = "";
+		String previousParent = "";
+		Resource resource = model.getResource(name);
+		Statement statement = resource.getProperty(RDFS.subClassOf);
+		do {
+			parent = statement.getObject().toString();
+			if (!((String) list.getFirst()).equals(parent)) {
+				list.addFirst(parent);
+			}
+			resource = model.getResource(parent);
+			statement = resource.getProperty(RDFS.subClassOf);
+
+		} while (statement != null);
+		// check to see if we have a primitive
+		parent = (String) list.removeFirst();
+		if (list.size() > 0) {
+			previousParent = (String) list.removeFirst();
+			previousParent = stripOutURI(previousParent);
+			if (MElement.isPrimitive(previousParent)) {
+				return previousParent;
+			}
+		}
+		// no primitive parent, so every object inherits from object
+		parent = stripOutURI(parent);
+		return parent;
+	}
+
+	/**
+	 * @param model
+	 * @param name
+	 * @return
+	 */
+	private static String getDescription(Model model, String name) {
+		Resource resource = model.getResource(OBJECT_URI + name);
+		Statement comment = resource.getProperty(RDFS.comment);
+		String description = comment.getObject().toString();
+		description = stripOutLiteral(description);
+		return description;
+	}
+
+	private static String getObjectRdf() throws MobyException {
+		String s = null;
+		StringBuffer sb = new StringBuffer();
+		URL url = null;
+		try {
+			url = new URL(OBJECT_URI);
+		} catch (MalformedURLException e1) {
+			e1.printStackTrace();
+			return null;
+		}
+		try {
+			BufferedReader in = null;
+	        in = new BufferedReader(new InputStreamReader(url.openStream()));
+	        while ((s = in.readLine()) != null) {
+	        	sb.append(s);
+	        }
+			
+		} catch (IOException e) {
+			e.printStackTrace();
+			return null;
+		}
+		return sb.toString();
+	}
+
+	private static String stripOutURI(String object) {
+		if (object.indexOf("#") > 0)
+			object = object.substring(object.indexOf("#") + 1);
+		return object;
+	}
+
+	private static String stripOutLiteral(String object) {
+		if (object.indexOf("~") > 0)
+			object = object.substring(0, object.indexOf("~"));
+		return object;
+	}
+
+	public static void main(String[] args) {
+		System.out.println("Is it me?");
+		System.out.println("\nOutput Imag Object\n");
+		System.out.println(RdfParser.buildMElement("DNASequence"));
+/*		System.out.println("###########################################");
+		System.out.println("Outputting a String object");
+		System.out.println(RdfParser.buildMElement("String"));
+
+		System.out.println("###########################################");
+		System.out.println("Outputting the base object");
+		System.out.println(RdfParser.buildMElement("Object"));
+
+		System.out.println("###########################################");
+		System.out.println("Outputting a DNA sequence object");
+		System.out.println(RdfParser.buildMElement("DNASequence"));
+
+		System.out.println("###########################################");
+		System.out.println("Outputting a GFF object");
+		System.out.println(RdfParser.buildMElement("GFF"));
+
+		System.out.println("###########################################");
+		System.out.println("Outputting a BasicGFFSequenceFeature object");
+		System.out.println(RdfParser.buildMElement("BasicGFFSequenceFeature"));
+*/
+	}
+}




More information about the MOBY-guts mailing list