graphl-cvs Mailing List for Graphl - Hybrid graph visualization tool (Page 2)
Status: Pre-Alpha
Brought to you by:
flo1
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(48) |
Sep
(6) |
Oct
(64) |
Nov
(12) |
Dec
(13) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(10) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(34) |
Sep
(31) |
Oct
|
Nov
|
Dec
(25) |
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(43) |
Jul
(16) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Flo L. <fl...@us...> - 2006-06-30 14:31:38
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/jaxen In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv11488/src/org/mediavirus/graphl/jaxen Added Files: IterableGraphlAxis.java GraphlXPath.java DocumentNavigator.java GuessNamespaceFunction.java GuessNameFunction.java Log Message: - migrated from jxpath to jaxen, which gives a much cleaner implementation of custom axes --- NEW FILE: DocumentNavigator.java --- /* * Created on 26.06.2006 */ package org.mediavirus.graphl.jaxen; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import org.jaxen.DefaultNavigator; import org.jaxen.NamedAccessNavigator; import org.jaxen.Navigator; import org.jaxen.UnsupportedAxisException; import org.jaxen.XPath; import org.jaxen.saxpath.Axis; import org.jaxen.saxpath.SAXPathException; import org.mediavirus.graphl.graph.Edge; import org.mediavirus.graphl.graph.GraphElement; import org.mediavirus.graphl.graph.Node; public class DocumentNavigator extends DefaultNavigator implements NamedAccessNavigator { /** Singleton implementation. */ private static class Singleton { /** Singleton instance. */ private static DocumentNavigator instance = new DocumentNavigator(); } /** Retrieve the singleton instance of this <code>DocumentNavigator</code>. */ public static Navigator getInstance() { return Singleton.instance; } public Iterator getChildAxisIterator(Object contextNode, String localName, String namespacePrefix, String namespaceURI) throws UnsupportedAxisException { return null; } public Iterator getAttributeAxisIterator(Object contextNode, String localName, String namespacePrefix, String namespaceURI) throws UnsupportedAxisException { // System.out.println("Attrib Iterator: "); // System.out.println(" : context: " + contextNode); // System.out.println(" : locName: " + localName); // System.out.println(" : nsPref.: " + namespacePrefix); // System.out.println(" : nsURI : " + namespaceURI); if (contextNode instanceof GraphElement) { GraphElement element = (GraphElement)contextNode; if (localName != null) { return Collections.singleton(element.getProperty(namespaceURI + localName)).iterator(); } else { return element.getProperties().values().iterator(); } } return null; } public String getElementNamespaceUri(Object element) { return null; } public String getElementName(Object element) { return null; } public String getElementQName(Object element) { return null; } public String getAttributeNamespaceUri(Object attr) { return null; } public String getAttributeName(Object attr) { return null; } public String getAttributeQName(Object attr) { return null; } public boolean isDocument(Object object) { return false; } public boolean isElement(Object object) { return (object instanceof GraphElement); } public boolean isAttribute(Object object) { return (object instanceof String); } public boolean isNamespace(Object object) { return false; } public boolean isComment(Object object) { return false; } public boolean isText(Object object) { return false; } public boolean isProcessingInstruction(Object object) { return false; } public String getCommentStringValue(Object comment) { return null; } public String getElementStringValue(Object element) { return ((GraphElement)element).getId(); } public String getAttributeStringValue(Object attr) { return (String)attr; } public String getNamespaceStringValue(Object ns) { return null; } public String getTextStringValue(Object text) { return null; } public String getNamespacePrefix(Object ns) { return null; } public XPath parseXPath(String xpath) throws SAXPathException { return new GraphlXPath(xpath); } public Iterator getGraphlAxisIterator(int axis, Object contextNode, String localName, String namespacePrefix, String namespaceURI) { // System.out.println("Axis Iterator: " + Axis.lookup(axis)); // System.out.println(" : context: " + contextNode); // System.out.println(" : locName: " + localName); // System.out.println(" : nsPref.: " + namespacePrefix); // System.out.println(" : nsURI : " + namespaceURI); List<GraphElement> matchingElements = new ArrayList<GraphElement>(); if (contextNode instanceof Node) { Node node = (Node)contextNode; if (axis == Axis.BOTH || axis == Axis.OUT) { if (localName != null) { matchingElements.addAll(node.getEdgesFrom(namespaceURI + localName)); } else { matchingElements.addAll(node.getEdgesFrom()); } } if (axis == Axis.BOTH || axis == Axis.IN) { if (localName != null) { matchingElements.addAll(node.getEdgesTo(namespaceURI + localName)); } else { matchingElements.addAll(node.getEdgesTo()); } } } else if (contextNode instanceof Edge) { Edge edge = (Edge)contextNode; if (axis == Axis.BOTH || axis == Axis.OUT) { if (localName != null) { Node n = edge.getTo(); if (n.getType().equals(namespaceURI + localName)) { matchingElements.add(n); } } else { matchingElements.add(edge.getTo()); } } if (axis == Axis.BOTH || axis == Axis.IN) { if (localName != null) { Node n = edge.getFrom(); if (n.getType().equals(namespaceURI + localName)) { matchingElements.add(n); } } else { matchingElements.add(edge.getFrom()); } } } return matchingElements.iterator(); } } --- NEW FILE: GraphlXPath.java --- /* * Created on 26.06.2006 */ package org.mediavirus.graphl.jaxen; import org.jaxen.BaseXPath; import org.jaxen.JaxenException; import org.jaxen.SimpleFunctionContext; import org.jaxen.SimpleNamespaceContext; import org.jaxen.XPathFunctionContext; import org.mediavirus.graphl.GraphlRegistry; public class GraphlXPath extends BaseXPath { public GraphlXPath(String xpathExpr) throws JaxenException { super( xpathExpr, DocumentNavigator.getInstance() ); SimpleFunctionContext fc = new XPathFunctionContext(); fc.registerFunction("http://www.mediavirus.org/graphl#", "guessName", new GuessNameFunction()); fc.registerFunction("http://www.mediavirus.org/graphl#", "guessNamespace", new GuessNamespaceFunction()); this.setFunctionContext(fc); this.setNamespaceContext(GraphlRegistry.instance().getVocabularyRegistry()); } } --- NEW FILE: GuessNameFunction.java --- /* * Created on 27.06.2006 */ package org.mediavirus.graphl.jaxen; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.jaxen.Context; import org.jaxen.Function; import org.jaxen.FunctionCallException; import org.jaxen.Navigator; import org.jaxen.function.StringFunction; import org.mediavirus.util.ParseUtils; public class GuessNameFunction implements Function{ public List<String> call(Context context, List args) throws FunctionCallException { List<String> result = new ArrayList<String>(); if (args.isEmpty()) return result; Navigator navigator = context.getNavigator(); Iterator iterator = args.iterator(); while (iterator.hasNext()) { String next = StringFunction.evaluate(iterator.next(), navigator); result.add(ParseUtils.guessName(next)); } return result; } } --- NEW FILE: GuessNamespaceFunction.java --- /* * Created on 27.06.2006 */ package org.mediavirus.graphl.jaxen; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.jaxen.Context; import org.jaxen.Function; import org.jaxen.FunctionCallException; import org.jaxen.Navigator; import org.jaxen.function.StringFunction; import org.mediavirus.util.ParseUtils; public class GuessNamespaceFunction implements Function { public List<String> call(Context context, List args) throws FunctionCallException { List<String> result = new ArrayList<String>(); if (args.isEmpty()) return result; Navigator navigator = context.getNavigator(); Iterator iterator = args.iterator(); while (iterator.hasNext()) { String next = StringFunction.evaluate(iterator.next(), navigator); result.add(ParseUtils.guessNamespace(next)); } return result; } } --- NEW FILE: IterableGraphlAxis.java --- /* * Created on 26.06.2006 */ package org.mediavirus.graphl.jaxen; import java.util.Iterator; import org.jaxen.ContextSupport; import org.jaxen.NamedAccessNavigator; import org.jaxen.UnsupportedAxisException; import org.jaxen.expr.iter.IterableAxis; public class IterableGraphlAxis extends IterableAxis { int value; public IterableGraphlAxis(int axisValue) { super(axisValue); this.value = axisValue; } @Override public Iterator iterator(Object contextNode, ContextSupport support) throws UnsupportedAxisException { if (support.getNavigator() instanceof DocumentNavigator) { DocumentNavigator nav = (DocumentNavigator)support.getNavigator(); return nav.getGraphlAxisIterator(this.value, contextNode, null, null, null); } return null; } /** * Gets an iterator for the child XPath axis that supports named access. * * @param contextNode the current context node to work from * @param support the additional context information * @param localName the local name of the children to return * @param namespacePrefix the prefix of the namespace of the children to return * @param namespaceURI the URI of the namespace of the children to return * @return an iterator over the children of the context node * @throws UnsupportedAxisException if the child axis is not supported by the model */ public Iterator namedAccessIterator( Object contextNode, ContextSupport support, String localName, String namespacePrefix, String namespaceURI) throws UnsupportedAxisException { if (support.getNavigator() instanceof DocumentNavigator) { DocumentNavigator nav = (DocumentNavigator)support.getNavigator(); return nav.getGraphlAxisIterator(this.value, contextNode, localName, namespacePrefix, namespaceURI); } return null; } /** * Does this axis support named access? * * @param support the additional context information * @return true if named access supported. If not iterator() will be used */ public boolean supportsNamedAccess(ContextSupport support) { return (support.getNavigator() instanceof NamedAccessNavigator); } } |
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/jxpath In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv11488/src/org/mediavirus/graphl/jxpath Removed Files: GraphAttributePointer.java GraphEdgePointer.java JXPathFunctions.java GraphNodeIterator.java GraphEdgeIterator.java JXPathFactory.java GraphNodePointer.java GraphAttributeIterator.java Log Message: - migrated from jxpath to jaxen, which gives a much cleaner implementation of custom axes --- JXPathFunctions.java DELETED --- --- GraphAttributePointer.java DELETED --- --- GraphAttributeIterator.java DELETED --- --- JXPathFactory.java DELETED --- --- GraphEdgeIterator.java DELETED --- --- GraphEdgePointer.java DELETED --- --- GraphNodeIterator.java DELETED --- --- GraphNodePointer.java DELETED --- |
From: Flo L. <fl...@us...> - 2006-06-30 14:31:22
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/jaxen In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv11463/src/org/mediavirus/graphl/jaxen Log Message: Directory /cvsroot/graphl/graphl/src/org/mediavirus/graphl/jaxen added to the repository |
From: Flo L. <fl...@us...> - 2006-06-30 14:30:42
|
Update of /cvsroot/graphl/graphl/src/org/jaxen/saxpath In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv11069/src/org/jaxen/saxpath Log Message: Directory /cvsroot/graphl/graphl/src/org/jaxen/saxpath added to the repository |
From: Flo L. <fl...@us...> - 2006-06-30 14:30:35
|
Update of /cvsroot/graphl/graphl/src/org/jaxen/saxpath In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv11081/src/org/jaxen/saxpath Added Files: Axis.java Log Message: - migrated from jxpath to jaxen, which gives a much cleaner implementation of custom axes --- NEW FILE: Axis.java --- /* * $Header: /cvsroot/graphl/graphl/src/org/jaxen/saxpath/Axis.java,v 1.1 2006/06/30 14:30:32 flo1 Exp $ * $Revision: 1.1 $ * $Date: 2006/06/30 14:30:32 $ * * ==================================================================== * * Copyright 2000-2002 bob mcwhirter & James Strachan. * All rights reserved. * * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * * Neither the name of the Jaxen Project nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * ==================================================================== * This software consists of voluntary contributions made by many * individuals on behalf of the Jaxen Project and was originally * created by bob mcwhirter <bo...@we...> and * James Strachan <jst...@ap...>. For more information on the * Jaxen Project, please see <http://www.jaxen.org/>. * * $Id: Axis.java,v 1.1 2006/06/30 14:30:32 flo1 Exp $ */ package org.jaxen.saxpath; import org.jaxen.JaxenRuntimeException; /** * * Internal SAXPath class that contains constants representing * XPath operators to avoid a lot of string comparisons. */ public class Axis { private Axis() {} // XXX Ultimately these should use the type-safe enum pattern instead /** Marker for an invalid axis */ public final static int INVALID_AXIS = 0; /** The <code>child</code> axis */ public final static int CHILD = 1; /** The <code>descendant</code> axis */ public final static int DESCENDANT = 2; /** The <code>parent</code> axis */ public final static int PARENT = 3; /** The <code>ancestor</code> axis */ public final static int ANCESTOR = 4; /** The <code>following-sibling</code> axis */ public final static int FOLLOWING_SIBLING = 5; /** The <code>preceding-sibling</code> axis */ public final static int PRECEDING_SIBLING = 6; /** The <code>following</code> axis */ public final static int FOLLOWING = 7; /** The <code>preceding</code> axis */ public final static int PRECEDING = 8; /** The <code>attribute</code> axis */ public final static int ATTRIBUTE = 9; /** The <code>namespace</code> axis */ public final static int NAMESPACE = 10; /** The <code>self</code> axis */ public final static int SELF = 11; /** The <code>descendant-or-self</code> axis */ public final static int DESCENDANT_OR_SELF = 12; /** The <code>ancestor-or-self</code> axis */ public final static int ANCESTOR_OR_SELF = 13; /** The <code>self</code> axis */ public final static int IN = 16; /** The <code>self</code> axis */ public final static int OUT = 17; /** The <code>self</code> axis */ public final static int BOTH = 18; /** * <p> * Returns the name of the axis. * </p> * * @param axisNum the axis code * @return the name of the axis such as might be used in an XPath expression * @throws JaxenRuntimeException if the number does not represent one of the 13 * XPath axes */ public static String lookup(int axisNum) { switch ( axisNum ) { case CHILD: return "child"; case DESCENDANT: return "descendant"; case PARENT: return "parent"; case ANCESTOR: return "ancestor"; case FOLLOWING_SIBLING: return "following-sibling"; case PRECEDING_SIBLING: return "preceding-sibling"; case FOLLOWING: return "following"; case PRECEDING: return "preceding"; case ATTRIBUTE: return "attribute"; case NAMESPACE: return "namespace"; case SELF: return "self"; case DESCENDANT_OR_SELF: return "descendant-or-self"; case ANCESTOR_OR_SELF: return "ancestor-or-self"; case IN: return "in"; case OUT: return "out"; case BOTH: return "both"; } throw new JaxenRuntimeException("Illegal Axis Number"); } /** * <p> * Returns the code for an axis given its name. * </p> * * @param axisName the name of the axis: child, parent, descendant, descendant-or-self, etc. * @return the axis code */ public static int lookup(String axisName) { // XXX All these equals calls are a small HotSpot; // Need to replace this with a static HashMap if ( "child".equals( axisName ) ) { return CHILD; } if ( "descendant".equals( axisName ) ) { return DESCENDANT; } if ( "parent".equals( axisName ) ) { return PARENT; } if ( "ancestor".equals( axisName ) ) { return ANCESTOR; } if ( "following-sibling".equals( axisName ) ) { return FOLLOWING_SIBLING; } if ( "preceding-sibling".equals( axisName ) ) { return PRECEDING_SIBLING; } if ( "following".equals( axisName ) ) { return FOLLOWING; } if ( "preceding".equals( axisName ) ) { return PRECEDING; } if ( "attribute".equals( axisName ) ) { return ATTRIBUTE; } if ( "namespace".equals( axisName ) ) { return NAMESPACE; } if ( "self".equals( axisName ) ) { return SELF; } if ( "descendant-or-self".equals( axisName ) ) { return DESCENDANT_OR_SELF; } if ( "ancestor-or-self".equals( axisName ) ) { return ANCESTOR_OR_SELF; } if ( "in".equals( axisName ) ) { return IN; } if ( "out".equals( axisName ) ) { return OUT; } if ( "both".equals( axisName ) ) { return BOTH; } return INVALID_AXIS; } } |
From: Flo L. <fl...@us...> - 2006-06-30 14:30:20
|
Update of /cvsroot/graphl/graphl/src/org/jaxen/expr In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv11020/src/org/jaxen/expr Added Files: DefaultXPathFactory.java Log Message: - migrated from jxpath to jaxen, which gives a much cleaner implementation of custom axes --- NEW FILE: DefaultXPathFactory.java --- /* * $Header: /cvsroot/graphl/graphl/src/org/jaxen/expr/DefaultXPathFactory.java,v 1.1 2006/06/30 14:30:15 flo1 Exp $ * $Revision: 1.1 $ * $Date: 2006/06/30 14:30:15 $ * * ==================================================================== * * Copyright 2000-2002 bob mcwhirter & James Strachan. * All rights reserved. * * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * * Neither the name of the Jaxen Project nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * ==================================================================== * This software consists of voluntary contributions made by many * individuals on behalf of the Jaxen Project and was originally * created by bob mcwhirter <bo...@we...> and * James Strachan <jst...@ap...>. For more information on the * Jaxen Project, please see <http://www.jaxen.org/>. * * $Id: DefaultXPathFactory.java,v 1.1 2006/06/30 14:30:15 flo1 Exp $ */ package org.jaxen.expr; import org.jaxen.JaxenException; import org.jaxen.expr.iter.IterableAncestorAxis; import org.jaxen.expr.iter.IterableAncestorOrSelfAxis; import org.jaxen.expr.iter.IterableAttributeAxis; import org.jaxen.expr.iter.IterableAxis; import org.jaxen.expr.iter.IterableChildAxis; import org.jaxen.expr.iter.IterableDescendantAxis; import org.jaxen.expr.iter.IterableDescendantOrSelfAxis; import org.jaxen.expr.iter.IterableFollowingAxis; import org.jaxen.expr.iter.IterableFollowingSiblingAxis; import org.jaxen.expr.iter.IterableNamespaceAxis; import org.jaxen.expr.iter.IterableParentAxis; import org.jaxen.expr.iter.IterablePrecedingAxis; import org.jaxen.expr.iter.IterablePrecedingSiblingAxis; import org.jaxen.expr.iter.IterableSelfAxis; import org.jaxen.saxpath.Axis; import org.jaxen.saxpath.Operator; import org.mediavirus.graphl.jaxen.IterableGraphlAxis; public class DefaultXPathFactory implements XPathFactory { public XPathExpr createXPath( Expr rootExpr ) throws JaxenException { return new DefaultXPathExpr( rootExpr ); } public PathExpr createPathExpr( FilterExpr filterExpr, LocationPath locationPath ) throws JaxenException { return new DefaultPathExpr( filterExpr, locationPath ); } public LocationPath createRelativeLocationPath() throws JaxenException { return new DefaultRelativeLocationPath(); } public LocationPath createAbsoluteLocationPath() throws JaxenException { return new DefaultAbsoluteLocationPath(); } public BinaryExpr createOrExpr( Expr lhs, Expr rhs ) throws JaxenException { return new DefaultOrExpr( lhs, rhs ); } public BinaryExpr createAndExpr( Expr lhs, Expr rhs ) throws JaxenException { return new DefaultAndExpr( lhs, rhs ); } public BinaryExpr createEqualityExpr( Expr lhs, Expr rhs, int equalityOperator ) throws JaxenException { switch( equalityOperator ) { case Operator.EQUALS: { return new DefaultEqualsExpr( lhs, rhs ); } case Operator.NOT_EQUALS: { return new DefaultNotEqualsExpr( lhs, rhs ); } } throw new JaxenException( "Unhandled operator in createEqualityExpr(): " + equalityOperator ); } public BinaryExpr createRelationalExpr( Expr lhs, Expr rhs, int relationalOperator ) throws JaxenException { switch( relationalOperator ) { case Operator.LESS_THAN: { return new DefaultLessThanExpr( lhs, rhs ); } case Operator.GREATER_THAN: { return new DefaultGreaterThanExpr( lhs, rhs ); } case Operator.LESS_THAN_EQUALS: { return new DefaultLessThanEqualExpr( lhs, rhs ); } case Operator.GREATER_THAN_EQUALS: { return new DefaultGreaterThanEqualExpr( lhs, rhs ); } } throw new JaxenException( "Unhandled operator in createRelationalExpr(): " + relationalOperator ); } public BinaryExpr createAdditiveExpr( Expr lhs, Expr rhs, int additiveOperator ) throws JaxenException { switch( additiveOperator ) { case Operator.ADD: { return new DefaultPlusExpr( lhs, rhs ); } case Operator.SUBTRACT: { return new DefaultMinusExpr( lhs, rhs ); } } throw new JaxenException( "Unhandled operator in createAdditiveExpr(): " + additiveOperator ); } public BinaryExpr createMultiplicativeExpr( Expr lhs, Expr rhs, int multiplicativeOperator ) throws JaxenException { switch( multiplicativeOperator ) { case Operator.MULTIPLY: { return new DefaultMultiplyExpr( lhs, rhs ); } case Operator.DIV: { return new DefaultDivExpr( lhs, rhs ); } case Operator.MOD: { return new DefaultModExpr( lhs, rhs ); } } throw new JaxenException( "Unhandled operator in createMultiplicativeExpr(): " + multiplicativeOperator ); } public Expr createUnaryExpr( Expr expr, int unaryOperator ) throws JaxenException { switch( unaryOperator ) { case Operator.NEGATIVE: { return new DefaultUnaryExpr( expr ); } } return expr; } public UnionExpr createUnionExpr( Expr lhs, Expr rhs ) throws JaxenException { return new DefaultUnionExpr( lhs, rhs ); } public FilterExpr createFilterExpr( Expr expr ) throws JaxenException { return new DefaultFilterExpr( expr, createPredicateSet() ); } public FunctionCallExpr createFunctionCallExpr( String prefix, String functionName ) throws JaxenException { return new DefaultFunctionCallExpr( prefix, functionName ); } public NumberExpr createNumberExpr( int number ) throws JaxenException { return new DefaultNumberExpr( new Double( number ) ); } public NumberExpr createNumberExpr( double number ) throws JaxenException { return new DefaultNumberExpr( new Double( number ) ); } public LiteralExpr createLiteralExpr( String literal ) throws JaxenException { return new DefaultLiteralExpr( literal ); } public VariableReferenceExpr createVariableReferenceExpr( String prefix, String variable ) throws JaxenException { return new DefaultVariableReferenceExpr( prefix, variable ); } public Step createNameStep( int axis, String prefix, String localName ) throws JaxenException { IterableAxis iter = getIterableAxis( axis ); return new DefaultNameStep( iter, prefix, localName, createPredicateSet() ); } public Step createTextNodeStep( int axis ) throws JaxenException { IterableAxis iter = getIterableAxis( axis ); return new DefaultTextNodeStep( iter, createPredicateSet() ); } public Step createCommentNodeStep( int axis ) throws JaxenException { IterableAxis iter = getIterableAxis( axis ); return new DefaultCommentNodeStep( iter, createPredicateSet() ); } public Step createAllNodeStep( int axis ) throws JaxenException { IterableAxis iter = getIterableAxis( axis ); return new DefaultAllNodeStep( iter, createPredicateSet() ); } public Step createProcessingInstructionNodeStep( int axis, String piName ) throws JaxenException { IterableAxis iter = getIterableAxis( axis ); return new DefaultProcessingInstructionNodeStep( iter, piName, createPredicateSet() ); } public Predicate createPredicate( Expr predicateExpr ) throws JaxenException { return new DefaultPredicate( predicateExpr ); } protected IterableAxis getIterableAxis( int axis ) { IterableAxis iter = null; switch( axis ) { case Axis.CHILD: { iter = new IterableChildAxis( axis ); break; } case Axis.DESCENDANT: { iter = new IterableDescendantAxis( axis ); break; } case Axis.PARENT: { iter = new IterableParentAxis( axis ); break; } case Axis.FOLLOWING_SIBLING: { iter = new IterableFollowingSiblingAxis( axis ); break; } case Axis.PRECEDING_SIBLING: { iter = new IterablePrecedingSiblingAxis( axis ); break; } case Axis.FOLLOWING: { iter = new IterableFollowingAxis( axis ); break; } case Axis.PRECEDING: { iter = new IterablePrecedingAxis( axis ); break; } case Axis.ATTRIBUTE: { iter = new IterableAttributeAxis( axis ); break; } case Axis.NAMESPACE: { iter = new IterableNamespaceAxis( axis ); break; } case Axis.SELF: { iter = new IterableSelfAxis( axis ); break; } case Axis.DESCENDANT_OR_SELF: { iter = new IterableDescendantOrSelfAxis( axis ); break; } case Axis.ANCESTOR_OR_SELF: { iter = new IterableAncestorOrSelfAxis( axis ); break; } case Axis.ANCESTOR: { iter = new IterableAncestorAxis( axis ); break; } case Axis.IN: { iter = new IterableGraphlAxis( axis ); break; } case Axis.OUT: { iter = new IterableGraphlAxis( axis ); break; } case Axis.BOTH: { iter = new IterableGraphlAxis( axis ); break; } } return iter; } public PredicateSet createPredicateSet() throws JaxenException { return new PredicateSet(); } } |
From: Flo L. <fl...@us...> - 2006-06-30 14:30:12
|
Update of /cvsroot/graphl/graphl/src/org/jaxen/expr In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv10741/src/org/jaxen/expr Log Message: Directory /cvsroot/graphl/graphl/src/org/jaxen/expr added to the repository |
From: Flo L. <fl...@us...> - 2006-06-30 14:30:12
|
Update of /cvsroot/graphl/graphl/src/org/jaxen In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv10741/src/org/jaxen Log Message: Directory /cvsroot/graphl/graphl/src/org/jaxen added to the repository |
From: Flo L. <fl...@us...> - 2006-06-30 14:29:59
|
Update of /cvsroot/graphl/graphl/lib In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv10682/lib Added Files: jaxen-1.1-beta-9.jar Log Message: - migrated from jxpath to jaxen, which gives a much cleaner implementation of custom axes --- NEW FILE: jaxen-1.1-beta-9.jar --- (This appears to be a binary file; contents omitted.) |
From: Flo L. <fl...@us...> - 2006-06-30 14:29:49
|
Update of /cvsroot/graphl/graphl/config In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv10654/config Modified Files: config.rdf Log Message: - migrated from jxpath to jaxen, which gives a much cleaner implementation of custom axes Index: config.rdf =================================================================== RCS file: /cvsroot/graphl/graphl/config/config.rdf,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** config.rdf 8 Jun 2006 13:15:00 -0000 1.17 --- config.rdf 30 Jun 2006 14:29:31 -0000 1.18 *************** *** 356,367 **** <rdf:li> <graphl:NodePainter - graphl:javaClass="org.mediavirus.graphl.painter.ImageNodePainter"> - <graphl:defaultImage> - <graphl:Image rdf:about="http://www.mediavirus.org/graphl/images/default.gif"/> - </graphl:defaultImage> - </graphl:NodePainter> - </rdf:li> - <rdf:li> - <graphl:NodePainter graphl:javaClass="org.mediavirus.graphl.painter.InvisibleNodePainter"> </graphl:NodePainter> --- 356,359 ---- *************** *** 417,424 **** <graphl:defaultNodePainter> <graphl:NodePainter ! graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" ! graphl:baseColor="#f0f0f0" graphl:stroke="1.0" ! graphl:label="concat('[ ',graphl:name(rdf:type/to/@rdf:id),' ] ',graphl:name(@rdf:id))"> </graphl:NodePainter> </graphl:defaultNodePainter> --- 409,416 ---- <graphl:defaultNodePainter> <graphl:NodePainter ! graphl:javaClass="'org.mediavirus.graphl.painter.BoxNodePainter'" ! graphl:baseColor="'#f0f0f0'" graphl:stroke="1.0" ! graphl:label="concat('[ ',graphl:guessName(out::rdf:type/out::*/@rdf:id),' ] ',graphl:guessName(@rdf:id))"> </graphl:NodePainter> </graphl:defaultNodePainter> *************** *** 426,440 **** <graphl:defaultEdgePainter> <graphl:EdgePainter ! graphl:javaClass="org.mediavirus.graphl.painter.StraightLineEdgePainter" graphl:paintArrow="true" graphl:paintLabel="true" ! graphl:color="#000000" ! graphl:labelColor="#000000" ! graphl:label="graphl:name(@graphl:type)"/> </graphl:defaultEdgePainter> <graphl:defaultNodeLayouter> <graphl:NodeLayouter ! graphl:javaClass="org.mediavirus.graphl.layout.RepulsionNodeLayouter" graphl:strength="1.0"/> </graphl:defaultNodeLayouter> --- 418,432 ---- <graphl:defaultEdgePainter> <graphl:EdgePainter ! graphl:javaClass="'org.mediavirus.graphl.painter.StraightLineEdgePainter'" graphl:paintArrow="true" graphl:paintLabel="true" ! graphl:color="'#000000'" ! graphl:labelColor="'#000000'" ! graphl:label="graphl:guessName(@graphl:type)"/> </graphl:defaultEdgePainter> <graphl:defaultNodeLayouter> <graphl:NodeLayouter ! graphl:javaClass="'org.mediavirus.graphl.layout.RepulsionNodeLayouter'" graphl:strength="1.0"/> </graphl:defaultNodeLayouter> *************** *** 442,446 **** <graphl:defaultEdgeLayouter> <graphl:EdgeLayouter ! graphl:javaClass="org.mediavirus.graphl.layout.SpringEdgeLayouter" graphl:length="300.0" graphl:rigidity="1.0"/> --- 434,438 ---- <graphl:defaultEdgeLayouter> <graphl:EdgeLayouter ! graphl:javaClass="'org.mediavirus.graphl.layout.SpringEdgeLayouter'" graphl:length="300.0" graphl:rigidity="1.0"/> *************** *** 451,459 **** <rdf:li> <graphl:NodePainter ! graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" ! graphl:baseColor="#d0d0d0" ! graphl:borderColor="#000000" ! graphl:font="14" ! graphl:borderStroke="1.5" graphl:label="@foaf:name"> <graphl:assignedToType> --- 443,452 ---- <rdf:li> <graphl:NodePainter ! graphl:javaClass="'org.mediavirus.graphl.painter.BoxNodePainter'" ! graphl:baseColor="'#d0d0d0'" ! graphl:borderColor="'#000000'" ! graphl:font="'Dialog-14'" ! graphl:borderStroke="'1.5'" ! graphl:labelColor="concat('150,',150 - count(out::foaf:knows)*20,',',150 - count(out::foaf:knows)*20)" graphl:label="@foaf:name"> <graphl:assignedToType> *************** *** 465,472 **** <graphl:NodePainter graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" ! graphl:baseColor="#d0d0d0" ! graphl:borderColor="#000000" ! graphl:font="14" ! graphl:borderStroke="1.5 5 2" graphl:label="@foaf:name"> <graphl:assignedToType> --- 458,465 ---- <graphl:NodePainter graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" ! graphl:baseColor="'#d0d0d0'" ! graphl:borderColor="'#000000'" ! graphl:font="Dialog-14" ! graphl:borderStroke="'1.5 5 2'" graphl:label="@foaf:name"> <graphl:assignedToType> *************** *** 495,507 **** <rdf:li> <graphl:NodePainter ! graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" ! graphl:baseColor="#f9f9f9" ! graphl:borderColor="#d0d0d0" ! graphl:textColor="#909090" ! graphl:borderStroke="1.0" ! graphl:useBorderColor="true" ! graphl:roundRect="false" ! graphl:font="Dialog-8" ! graphl:label="graphl:name(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&foaf;Document"/> --- 488,498 ---- <rdf:li> <graphl:NodePainter ! graphl:javaClass="'org.mediavirus.graphl.painter.BoxNodePainter'" ! graphl:baseColor="'#f9f9f9'" ! graphl:borderColor="'#d0d0d0'" ! graphl:textColor="'#909090'" ! graphl:borderStroke="'1.0'" ! graphl:font="'Dialog-8'" ! graphl:label="graphl:guessName(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&foaf;Document"/> *************** *** 511,517 **** <rdf:li> <graphl:NodePainter ! graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" ! graphl:baseColor="#e0e0e0" ! graphl:label="graphl:name(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&rdfs;Class"/> --- 502,508 ---- <rdf:li> <graphl:NodePainter ! graphl:javaClass="'org.mediavirus.graphl.painter.BoxNodePainter'" ! graphl:baseColor="'#e0e0e0'" ! graphl:label="graphl:guessName(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&rdfs;Class"/> *************** *** 521,527 **** <rdf:li> <graphl:NodePainter ! graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" ! graphl:baseColor="#f0f0f0" ! graphl:label="graphl:name(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&rdf;Property"/> --- 512,518 ---- <rdf:li> <graphl:NodePainter ! graphl:javaClass="'org.mediavirus.graphl.painter.BoxNodePainter'" ! graphl:baseColor="'#f0f0f0'" ! graphl:label="graphl:guessName(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&rdf;Property"/> *************** *** 531,554 **** <rdf:li> <graphl:NodePainter ! graphl:javaClass="org.mediavirus.graphl.painter.ImageNodePainter" ! graphl:method="property" ! graphl:property="↦image"> ! <graphl:assignedToType> ! <rdfs:Class rdf:about="↦Map"/> ! </graphl:assignedToType> ! </graphl:NodePainter> ! </rdf:li> ! <rdf:li> ! <graphl:NodePainter ! graphl:javaClass="org.mediavirus.graphl.painter.ShapeNodePainter" ! graphl:shape="X"> ! <graphl:assignedToType> ! <rdfs:Class rdf:about="&geo;Point"/> ! </graphl:assignedToType> ! </graphl:NodePainter> ! </rdf:li> ! <rdf:li> ! <graphl:NodePainter ! graphl:javaClass="org.mediavirus.graphl.painter.ShapeNodePainter" graphl:shape="circle"> <graphl:assignedToType> --- 522,526 ---- <rdf:li> <graphl:NodePainter ! graphl:javaClass="'org.mediavirus.graphl.painter.ShapeNodePainter'" graphl:shape="circle"> <graphl:assignedToType> *************** *** 562,566 **** <rdf:li> <graphl:NodePainter ! graphl:javaClass="org.mediavirus.graphl.painter.ShapeNodePainter" graphl:shape="circle" graphl:color="#ff0000"> --- 534,538 ---- <rdf:li> <graphl:NodePainter ! graphl:javaClass="'org.mediavirus.graphl.painter.ShapeNodePainter'" graphl:shape="circle" graphl:color="#ff0000"> *************** *** 577,581 **** <rdf:li> <graphl:NodeLayouter ! graphl:javaClass="org.mediavirus.graphl.layout.AbsoluteNodeLayouter" graphl:method="property" graphl:property="↦coverage" --- 549,553 ---- <rdf:li> <graphl:NodeLayouter ! graphl:javaClass="'org.mediavirus.graphl.layout.AbsoluteNodeLayouter'" graphl:method="property" graphl:property="↦coverage" *************** *** 606,610 **** graphl:paintArrow="false" graphl:paintLabel="false" ! graphl:stroke="1.0 1 5"> <graphl:assignedToType> <rdf:Property rdf:about="&rdf;type"/> --- 578,582 ---- graphl:paintArrow="false" graphl:paintLabel="false" ! graphl:stroke="'1.0 1 5'"> <graphl:assignedToType> <rdf:Property rdf:about="&rdf;type"/> *************** *** 620,625 **** graphl:paintArrow="false" graphl:paintLabel="false" ! graphl:stroke="1.0 5 5" ! graphl:color="#ff0000"> <graphl:assignedToType> <rdf:Property rdf:about="&owl;inverseOf"/> --- 592,597 ---- graphl:paintArrow="false" graphl:paintLabel="false" ! graphl:stroke="'1.0 5 5'" ! graphl:color="'#ff0000'"> <graphl:assignedToType> <rdf:Property rdf:about="&owl;inverseOf"/> *************** *** 633,639 **** <graphl:EdgePainter graphl:javaClass="org.mediavirus.graphl.painter.StraightLineEdgePainter" ! graphl:paintArrow="false" ! graphl:paintLabel="false" ! graphl:stroke="1.0 5 5"> <graphl:assignedToType> <rdf:Property rdf:about="&rdfs;range"/> --- 605,610 ---- <graphl:EdgePainter graphl:javaClass="org.mediavirus.graphl.painter.StraightLineEdgePainter" ! graphl:arrowPosition="0" ! graphl:stroke="'1.0 5 5'"> <graphl:assignedToType> <rdf:Property rdf:about="&rdfs;range"/> *************** *** 644,650 **** <graphl:EdgePainter graphl:javaClass="org.mediavirus.graphl.painter.StraightLineEdgePainter" ! graphl:paintArrow="false" ! graphl:paintLabel="false" ! graphl:stroke="1.5 5 5"> <graphl:assignedToType> <rdf:Property rdf:about="&foaf;knows"/> --- 615,620 ---- <graphl:EdgePainter graphl:javaClass="org.mediavirus.graphl.painter.StraightLineEdgePainter" ! graphl:arrowPosition="0" ! graphl:stroke="'1.5 5 5'"> <graphl:assignedToType> <rdf:Property rdf:about="&foaf;knows"/> *************** *** 655,661 **** <graphl:EdgePainter graphl:javaClass="org.mediavirus.graphl.painter.StraightLineEdgePainter" ! graphl:paintArrow="false" ! graphl:paintLabel="false" ! graphl:stroke="1.0"> <graphl:assignedToType> <rdf:Property rdf:about="&rdf;first"/> --- 625,630 ---- <graphl:EdgePainter graphl:javaClass="org.mediavirus.graphl.painter.StraightLineEdgePainter" ! graphl:arrowPosition="0" ! graphl:stroke="'1.0'"> <graphl:assignedToType> <rdf:Property rdf:about="&rdf;first"/> *************** *** 666,672 **** <graphl:EdgePainter graphl:javaClass="org.mediavirus.graphl.painter.StraightLineEdgePainter" ! graphl:paintArrow="true" ! graphl:paintLabel="false" ! graphl:stroke="1.0"> <graphl:assignedToType> <rdf:Property rdf:about="&rdf;rest"/> --- 635,640 ---- <graphl:EdgePainter graphl:javaClass="org.mediavirus.graphl.painter.StraightLineEdgePainter" ! graphl:arrowPosition="1" ! graphl:stroke="'1.0'"> <graphl:assignedToType> <rdf:Property rdf:about="&rdf;rest"/> |
From: Flo L. <fl...@us...> - 2006-06-19 12:49:41
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/server In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv26591/src/org/mediavirus/graphl/server Modified Files: GraphlServer.java Log Message: added jars to applet parameters Index: GraphlServer.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/server/GraphlServer.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** GraphlServer.java 4 Oct 2004 10:21:02 -0000 1.5 --- GraphlServer.java 19 Jun 2006 12:49:25 -0000 1.6 *************** *** 82,89 **** w.println("<body><h2>" + path + "</h2>"); w.println("<applet style=\"margin: 0px; padding: 0px; border: 1px solid #666666;\""); ! w.println(" code=\"org.mediavirus.graphl.GraphlApplet\" codebase=\"applet\" archive=\"graphl.jar, rdfapi.jar\""); w.println(" name=\"GraphlApplet\" width=\"100%\" height=\"90%\">"); w.println(" <param name=\"rdfurl\" value=\"" + path + "\">"); ! w.println(" <param name=\"configuration\" value=\"config/config.rdf\">"); //w.println(" <param name=\"saveurl\" value=\"save/testsave.rdf\"/>"); w.println("</applet>"); --- 82,89 ---- w.println("<body><h2>" + path + "</h2>"); w.println("<applet style=\"margin: 0px; padding: 0px; border: 1px solid #666666;\""); ! w.println(" code=\"org.mediavirus.graphl.GraphlApplet\" codebase=\"applet\" archive=\"graphl.jar, rdfapi.jar, l2fprod-common-sheet.jar, l2fprod-common-fontchooser.jar\""); w.println(" name=\"GraphlApplet\" width=\"100%\" height=\"90%\">"); w.println(" <param name=\"rdfurl\" value=\"" + path + "\">"); ! w.println(" <param name=\"config\" value=\"config/config.rdf\">"); //w.println(" <param name=\"saveurl\" value=\"save/testsave.rdf\"/>"); w.println("</applet>"); |
From: Flo L. <fl...@us...> - 2006-06-08 13:16:13
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/interaction In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343/src/org/mediavirus/graphl/interaction Modified Files: DefaultNodeManipulator.java GraphlManipulator.java Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( Index: GraphlManipulator.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/interaction/GraphlManipulator.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** GraphlManipulator.java 18 Dec 2005 13:30:00 -0000 1.15 --- GraphlManipulator.java 8 Jun 2006 13:15:01 -0000 1.16 *************** *** 171,175 **** else { graphPane.getSelection().addNode(clickNode); - System.out.println(clickNode.getType()); } graphPane.getFilteredGraph().notifyLayoutUpdated(); --- 171,174 ---- Index: DefaultNodeManipulator.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/interaction/DefaultNodeManipulator.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** DefaultNodeManipulator.java 18 Dec 2005 11:11:41 -0000 1.3 --- DefaultNodeManipulator.java 8 Jun 2006 13:15:01 -0000 1.4 *************** *** 135,137 **** --- 135,141 ---- public void setConfigurationNode(Node node) { } + + public void refresh() { + } + } |
From: Flo L. <fl...@us...> - 2006-06-08 13:15:53
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/view In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343/src/org/mediavirus/graphl/view Modified Files: SimpleFacetRegistry.java AbstractFacet.java Facet.java GraphFacetRegistry.java Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( Index: SimpleFacetRegistry.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/view/SimpleFacetRegistry.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** SimpleFacetRegistry.java 18 Dec 2005 11:11:40 -0000 1.8 --- SimpleFacetRegistry.java 8 Jun 2006 13:14:59 -0000 1.9 *************** *** 482,490 **** public void updateFacets(Graph graph) { ! for (Iterator nodes = graph.getNodes().iterator(); nodes.hasNext();) { ! updateNodeFacets((Node)nodes.next()); } ! for (Iterator edges = graph.getEdges().iterator(); edges.hasNext();) { ! updateEdgeFacets((Edge)edges.next()); } } --- 482,499 ---- public void updateFacets(Graph graph) { ! //System.out.println("updateFacets() called"); ! for (Iterator<Node> nodes = graph.getNodes().iterator(); nodes.hasNext();) { ! Node node = nodes.next(); ! updateNodeFacets(node); ! //TODO this is a hack - either find some way to iterate over all active facets, or implement this via nodeListeners ! if (node.getCurrentLayouter() != null) node.getCurrentLayouter().refresh(); ! if (node.getCurrentPainter() != null) node.getCurrentPainter().refresh(); } ! for (Iterator<Edge> edges = graph.getEdges().iterator(); edges.hasNext();) { ! Edge edge = edges.next(); ! updateEdgeFacets(edge); ! //TODO this is a hack - either find some way to iterate over all active facets, or implement this via nodeListeners ! if (edge.getCurrentLayouter() != null) edge.getCurrentLayouter().refresh(); ! if (edge.getCurrentPainter() != null) edge.getCurrentPainter().refresh(); } } Index: Facet.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/view/Facet.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Facet.java 30 Nov 2004 09:38:33 -0000 1.5 --- Facet.java 8 Jun 2006 13:14:59 -0000 1.6 *************** *** 84,86 **** --- 84,92 ---- public void setConfigurationNode(Node node); + /** + * Facets may create internal caches for properties of GraphElements. If the graph + * changes, this method is called to reset the caches. + * + */ + public void refresh(); } \ No newline at end of file Index: GraphFacetRegistry.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/view/GraphFacetRegistry.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** GraphFacetRegistry.java 17 Aug 2005 15:52:50 -0000 1.8 --- GraphFacetRegistry.java 8 Jun 2006 13:14:59 -0000 1.9 *************** *** 50,54 **** clearRegistry(); if (registryNode != null) { // TODO (3) && graph.containsNode(registryNode) ! for (Iterator baseNodes = registryNode.getNeighbours(NS.graphl + "basedOn",true).iterator(); baseNodes.hasNext();) { Node baseNode = (Node) baseNodes.next(); processRegistryNode(baseNode); --- 50,54 ---- clearRegistry(); if (registryNode != null) { // TODO (3) && graph.containsNode(registryNode) ! for (Iterator baseNodes = registryNode.getNeighbours(NS.graphl + "basedOn",Node.FORWARD).iterator(); baseNodes.hasNext();) { Node baseNode = (Node) baseNodes.next(); processRegistryNode(baseNode); *************** *** 62,66 **** if (!registryNode.hasType(NS.graphl + "Configuration")) return; ! Node node = registryNode.getFirstNeighbour(NS.graphl + "defaultNodePainter",true); if (node != null && node.hasType(NS.graphl + "NodePainter")) { NodePainter nodePainter = (NodePainter)createFacetInstance(node); --- 62,66 ---- if (!registryNode.hasType(NS.graphl + "Configuration")) return; ! Node node = registryNode.getFirstNeighbour(NS.graphl + "defaultNodePainter",Node.FORWARD); if (node != null && node.hasType(NS.graphl + "NodePainter")) { NodePainter nodePainter = (NodePainter)createFacetInstance(node); *************** *** 68,72 **** } ! node = registryNode.getFirstNeighbour(NS.graphl + "defaultEdgePainter",true); if (node != null && node.hasType(NS.graphl + "EdgePainter")) { EdgePainter edgePainter = (EdgePainter)createFacetInstance(node); --- 68,72 ---- } ! node = registryNode.getFirstNeighbour(NS.graphl + "defaultEdgePainter",Node.FORWARD); if (node != null && node.hasType(NS.graphl + "EdgePainter")) { EdgePainter edgePainter = (EdgePainter)createFacetInstance(node); *************** *** 74,78 **** } ! node = registryNode.getFirstNeighbour(NS.graphl + "defaultNodeLayouter",true); if (node != null && node.hasType(NS.graphl + "NodeLayouter")) { NodeLayouter nodeLayouter = (NodeLayouter)createFacetInstance(node); --- 74,78 ---- } ! node = registryNode.getFirstNeighbour(NS.graphl + "defaultNodeLayouter",Node.FORWARD); if (node != null && node.hasType(NS.graphl + "NodeLayouter")) { NodeLayouter nodeLayouter = (NodeLayouter)createFacetInstance(node); *************** *** 80,84 **** } ! node = registryNode.getFirstNeighbour(NS.graphl + "defaultEdgeLayouter",true); if (node != null && node.hasType(NS.graphl + "EdgeLayouter")) { EdgeLayouter edgeLayouter = (EdgeLayouter)createFacetInstance(node); --- 80,84 ---- } ! node = registryNode.getFirstNeighbour(NS.graphl + "defaultEdgeLayouter",Node.FORWARD); if (node != null && node.hasType(NS.graphl + "EdgeLayouter")) { EdgeLayouter edgeLayouter = (EdgeLayouter)createFacetInstance(node); *************** *** 86,90 **** } ! node = registryNode.getFirstNeighbour(NS.graphl + "availableNodePainters",true); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); --- 86,90 ---- } ! node = registryNode.getFirstNeighbour(NS.graphl + "availableNodePainters",Node.FORWARD); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); *************** *** 98,102 **** } ! node = registryNode.getFirstNeighbour(NS.graphl + "availableEdgePainters",true); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); --- 98,102 ---- } ! node = registryNode.getFirstNeighbour(NS.graphl + "availableEdgePainters",Node.FORWARD); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); *************** *** 110,114 **** } ! node = registryNode.getFirstNeighbour(NS.graphl + "availableNodeLayouters",true); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); --- 110,114 ---- } ! node = registryNode.getFirstNeighbour(NS.graphl + "availableNodeLayouters",Node.FORWARD); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); *************** *** 122,126 **** } ! node = registryNode.getFirstNeighbour(NS.graphl + "availableEdgeLayouters",true); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); --- 122,126 ---- } ! node = registryNode.getFirstNeighbour(NS.graphl + "availableEdgeLayouters",Node.FORWARD); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); *************** *** 134,138 **** } ! node = registryNode.getFirstNeighbour(NS.graphl + "assignedNodePainters",true); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); --- 134,138 ---- } ! node = registryNode.getFirstNeighbour(NS.graphl + "assignedNodePainters",Node.FORWARD); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); *************** *** 141,145 **** if (n.hasType(NS.graphl + "NodePainter")) { NodePainter nodePainter = (NodePainter)createFacetInstance(n); ! Iterator assignedTypes = n.getNeighbours(NS.graphl + "assignedToType", true).iterator(); while (assignedTypes.hasNext()) { Node classNode = (Node)assignedTypes.next(); --- 141,145 ---- if (n.hasType(NS.graphl + "NodePainter")) { NodePainter nodePainter = (NodePainter)createFacetInstance(n); ! Iterator assignedTypes = n.getNeighbours(NS.graphl + "assignedToType", Node.FORWARD).iterator(); while (assignedTypes.hasNext()) { Node classNode = (Node)assignedTypes.next(); *************** *** 151,155 **** } ! node = registryNode.getFirstNeighbour(NS.graphl + "assignedEdgePainters",true); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); --- 151,155 ---- } ! node = registryNode.getFirstNeighbour(NS.graphl + "assignedEdgePainters",Node.FORWARD); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); *************** *** 158,162 **** if (n.hasType(NS.graphl + "EdgePainter")) { EdgePainter edgePainter = (EdgePainter)createFacetInstance(n); ! Iterator assignedTypes = n.getNeighbours(NS.graphl + "assignedToType", true).iterator(); while (assignedTypes.hasNext()) { Node classNode = (Node)assignedTypes.next(); --- 158,162 ---- if (n.hasType(NS.graphl + "EdgePainter")) { EdgePainter edgePainter = (EdgePainter)createFacetInstance(n); ! Iterator assignedTypes = n.getNeighbours(NS.graphl + "assignedToType", Node.FORWARD).iterator(); while (assignedTypes.hasNext()) { Node classNode = (Node)assignedTypes.next(); *************** *** 168,172 **** } ! node = registryNode.getFirstNeighbour(NS.graphl + "assignedNodeLayouters",true); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); --- 168,172 ---- } ! node = registryNode.getFirstNeighbour(NS.graphl + "assignedNodeLayouters",Node.FORWARD); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); *************** *** 175,179 **** if (n.hasType(NS.graphl + "NodeLayouter")) { NodeLayouter nodeLayouter = (NodeLayouter)createFacetInstance(n); ! Iterator assignedTypes = n.getNeighbours(NS.graphl + "assignedToType", true).iterator(); while (assignedTypes.hasNext()) { Node classNode = (Node)assignedTypes.next(); --- 175,179 ---- if (n.hasType(NS.graphl + "NodeLayouter")) { NodeLayouter nodeLayouter = (NodeLayouter)createFacetInstance(n); ! Iterator assignedTypes = n.getNeighbours(NS.graphl + "assignedToType", Node.FORWARD).iterator(); while (assignedTypes.hasNext()) { Node classNode = (Node)assignedTypes.next(); *************** *** 185,189 **** } ! node = registryNode.getFirstNeighbour(NS.graphl + "assignedEdgeLayouters",true); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); --- 185,189 ---- } ! node = registryNode.getFirstNeighbour(NS.graphl + "assignedEdgeLayouters",Node.FORWARD); if (node != null) { Iterator painters = node.getEdgesFrom().iterator(); *************** *** 192,196 **** if (n.hasType(NS.graphl + "EdgeLayouter")) { EdgeLayouter edgeLayouter = (EdgeLayouter)createFacetInstance(n); ! Iterator assignedTypes = n.getNeighbours(NS.graphl + "assignedToType", true).iterator(); while (assignedTypes.hasNext()) { Node classNode = (Node)assignedTypes.next(); --- 192,196 ---- if (n.hasType(NS.graphl + "EdgeLayouter")) { EdgeLayouter edgeLayouter = (EdgeLayouter)createFacetInstance(n); ! Iterator assignedTypes = n.getNeighbours(NS.graphl + "assignedToType", Node.FORWARD).iterator(); while (assignedTypes.hasNext()) { Node classNode = (Node)assignedTypes.next(); Index: AbstractFacet.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/view/AbstractFacet.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** AbstractFacet.java 18 Dec 2005 11:11:40 -0000 1.8 --- AbstractFacet.java 8 Jun 2006 13:14:59 -0000 1.9 *************** *** 95,98 **** --- 95,102 ---- return sheet; } + + public void refresh() { + } + } |
From: Flo L. <fl...@us...> - 2006-06-08 13:15:47
|
Update of /cvsroot/graphl/graphl/config In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343/config Modified Files: config.rdf Removed Files: netznetz-config.rdf Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( Index: config.rdf =================================================================== RCS file: /cvsroot/graphl/graphl/config/config.rdf,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** config.rdf 18 Dec 2005 13:29:13 -0000 1.16 --- config.rdf 8 Jun 2006 13:15:00 -0000 1.17 *************** *** 420,424 **** graphl:baseColor="#f0f0f0" graphl:stroke="1.0" ! graphl:label="concat('[ ',graphl:guessName(rdf:type/to/@rdf:id),' ] ',graphl:guessName(@rdf:id))"> </graphl:NodePainter> </graphl:defaultNodePainter> --- 420,424 ---- graphl:baseColor="#f0f0f0" graphl:stroke="1.0" ! graphl:label="concat('[ ',graphl:name(rdf:type/to/@rdf:id),' ] ',graphl:name(@rdf:id))"> </graphl:NodePainter> </graphl:defaultNodePainter> *************** *** 431,435 **** graphl:color="#000000" graphl:labelColor="#000000" ! graphl:label="graphl:guessName(@graphl:type)"/> </graphl:defaultEdgePainter> --- 431,435 ---- graphl:color="#000000" graphl:labelColor="#000000" ! graphl:label="graphl:name(@graphl:type)"/> </graphl:defaultEdgePainter> *************** *** 443,447 **** <graphl:EdgeLayouter graphl:javaClass="org.mediavirus.graphl.layout.SpringEdgeLayouter" ! graphl:defaultLength="40.0" graphl:rigidity="1.0"/> </graphl:defaultEdgeLayouter> --- 443,447 ---- <graphl:EdgeLayouter graphl:javaClass="org.mediavirus.graphl.layout.SpringEdgeLayouter" ! graphl:length="300.0" graphl:rigidity="1.0"/> </graphl:defaultEdgeLayouter> *************** *** 503,507 **** graphl:roundRect="false" graphl:font="Dialog-8" ! graphl:label="graphl:guessName(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&foaf;Document"/> --- 503,507 ---- graphl:roundRect="false" graphl:font="Dialog-8" ! graphl:label="graphl:name(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&foaf;Document"/> *************** *** 513,517 **** graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" graphl:baseColor="#e0e0e0" ! graphl:label="graphl:guessName(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&rdfs;Class"/> --- 513,517 ---- graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" graphl:baseColor="#e0e0e0" ! graphl:label="graphl:name(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&rdfs;Class"/> *************** *** 523,527 **** graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" graphl:baseColor="#f0f0f0" ! graphl:label="graphl:guessName(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&rdf;Property"/> --- 523,527 ---- graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" graphl:baseColor="#f0f0f0" ! graphl:label="graphl:name(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&rdf;Property"/> *************** *** 721,725 **** graphl:javaClass="org.mediavirus.graphl.layout.DirectedEdgeLayouter" graphl:direction="down" ! graphl:length="40.0"> <graphl:assignedToType> <rdf:Property rdf:about="&rdf;first"/> --- 721,725 ---- graphl:javaClass="org.mediavirus.graphl.layout.DirectedEdgeLayouter" graphl:direction="down" ! graphl:length="100.0"> <graphl:assignedToType> <rdf:Property rdf:about="&rdf;first"/> --- netznetz-config.rdf DELETED --- |
From: Flo L. <fl...@us...> - 2006-06-08 13:15:46
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/layout In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343/src/org/mediavirus/graphl/layout Modified Files: AbsoluteNodeLayouter.java SpringEdgeLayouter.java GraphlLayoutStrategy.java Removed Files: AbsoluteNodeLayouterController.java Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( Index: GraphlLayoutStrategy.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/layout/GraphlLayoutStrategy.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** GraphlLayoutStrategy.java 18 Dec 2005 11:11:40 -0000 1.13 --- GraphlLayoutStrategy.java 8 Jun 2006 13:14:57 -0000 1.14 *************** *** 90,93 **** --- 90,94 ---- public void executeGraphLayoutStep() { //long layoutStartTime=System.currentTimeMillis(); + //System.out.println(" executeGraphLayoutStep()"); for (int i=0;i<10;i++) { layoutEdges(); *************** *** 128,131 **** --- 129,133 ---- double lastMaxMotion=graphManager.maxMotion; graphManager.maxMotion=0; + // prevent copncurrent modifications through loading etc. Iterator iterator=graph.getNodes().iterator(); while (iterator.hasNext()) { --- AbsoluteNodeLayouterController.java DELETED --- Index: SpringEdgeLayouter.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/layout/SpringEdgeLayouter.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** SpringEdgeLayouter.java 18 Dec 2005 11:11:40 -0000 1.10 --- SpringEdgeLayouter.java 8 Jun 2006 13:14:57 -0000 1.11 *************** *** 11,14 **** --- 11,15 ---- import org.mediavirus.graphl.graph.Edge; import org.mediavirus.graphl.graph.Node; + import org.mediavirus.graphl.jxpath.JXPathFactory; import org.mediavirus.graphl.layout.GraphlLayoutStrategy.GraphManager; import org.mediavirus.graphl.view.AbstractFacet; *************** *** 21,25 **** public class SpringEdgeLayouter extends AbstractFacet implements EdgeLayouter { ! float defaultLength = 40.0f; float defaultRigidity = 1.0f; --- 22,26 ---- public class SpringEdgeLayouter extends AbstractFacet implements EdgeLayouter { ! float defaultLength = 300.0f; float defaultRigidity = 1.0f; *************** *** 34,38 **** protected Spring(float length, float rigidity) { - this.length = length; this.rigidity = rigidity; --- 35,38 ---- *************** *** 54,59 **** if (lengthExpr != null || rigidityExpr != null) { ! JXPathContext context = JXPathContext.newContext(edge); ! context.setLenient(true); if (lengthExpr != null) { Object lengthO = context.getValue(lengthExpr); --- 54,58 ---- if (lengthExpr != null || rigidityExpr != null) { ! JXPathContext context = JXPathFactory.createContext(edge); if (lengthExpr != null) { Object lengthO = context.getValue(lengthExpr); *************** *** 82,89 **** Node from = edge.getFrom(); Node to = edge.getTo(); double deltaX = to.getCenterX() - from.getCenterX(); double deltaY = to.getCenterY() - from.getCenterY(); double currentLength = Math.sqrt(deltaX * deltaX + deltaY * deltaY); ! double factor = spring.rigidity * currentLength / (spring.length * 100.0f); double dx = deltaX * factor; double dy = deltaY * factor; --- 81,93 ---- Node from = edge.getFrom(); Node to = edge.getTo(); + double deltaX = to.getCenterX() - from.getCenterX(); double deltaY = to.getCenterY() - from.getCenterY(); + double currentLength = Math.sqrt(deltaX * deltaX + deltaY * deltaY); ! double factor = spring.rigidity * currentLength / (spring.length * 100.0); ! //double factor = (spring.rigidity * currentLength / 2000.0) * (spring.rigidity * currentLength / 2000.0) - (spring.rigidity * spring.length / 2000.0) * (spring.rigidity * spring.length / 2000.0); ! //double factor = spring.rigidity * currentLength / 1000.0 - spring.rigidity * spring.length / 1000.0; ! //System.out.println("currentLenght: " + currentLength + " spring length: " + spring.length + " factor: " + factor); double dx = deltaX * factor; double dy = deltaY * factor; *************** *** 205,207 **** --- 209,215 ---- } + public void refresh() { + springCache.clear(); + } + } Index: AbsoluteNodeLayouter.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/layout/AbsoluteNodeLayouter.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** AbsoluteNodeLayouter.java 17 Aug 2005 15:52:49 -0000 1.9 --- AbsoluteNodeLayouter.java 8 Jun 2006 13:14:57 -0000 1.10 *************** *** 5,18 **** package org.mediavirus.graphl.layout; import java.awt.geom.Point2D; ! import java.awt.geom.Rectangle2D; ! ! import javax.swing.JComponent; import org.mediavirus.graphl.graph.Node; import org.mediavirus.graphl.layout.GraphlLayoutStrategy.GraphManager; import org.mediavirus.graphl.view.AbstractFacet; import org.mediavirus.graphl.vocabulary.NS; - import org.mediavirus.util.ParseUtils; /** --- 5,19 ---- package org.mediavirus.graphl.layout; + import java.awt.geom.AffineTransform; import java.awt.geom.Point2D; ! import java.util.HashMap; ! import java.util.Map; + import org.apache.commons.jxpath.JXPathContext; import org.mediavirus.graphl.graph.Node; + import org.mediavirus.graphl.jxpath.JXPathFactory; import org.mediavirus.graphl.layout.GraphlLayoutStrategy.GraphManager; import org.mediavirus.graphl.view.AbstractFacet; import org.mediavirus.graphl.vocabulary.NS; /** *************** *** 22,166 **** public class AbsoluteNodeLayouter extends AbstractFacet implements NodeLayouter { ! public static final int FIXED = 0; ! public static final int PROPERTY = 1; ! public static final int GEO = 2; ! ! Point2D target = new Point2D.Float(0.0f,0.0f); ! Point2D scale = new Point2D.Float(1.0f, 1.0f); ! Point2D offset = new Point2D.Float(0.0f, 0.0f); ! ! int method = FIXED; ! String property = null; - boolean draggable = true; - /** * @see org.mediavirus.graphl.layout.NodeLayouter#performLayoutStep(org.mediavirus.graphl.graph.Node, org.mediavirus.graphl.layout.GraphlLayoutStrategy.GraphManager) */ public void performLayoutStep(Node node, GraphManager manager) { ! if (method == FIXED) { ! if (draggable && node.isDragging()) { ! setTarget(new Point2D.Double(node.getCenterX()/scale.getX()-offset.getX(), node.getCenterY()/scale.getY()-offset.getY())); ! } ! else { ! node.setCenter((target.getX()+offset.getX())*scale.getX(), (target.getY()+offset.getY())*scale.getY()); ! } ! } ! else if (method == PROPERTY){ ! Node n = node.getFirstNeighbour(property, true); ! if (n != null) { ! Rectangle2D r = getAreaForGeoNode(n); ! if (r != null) { ! node.setCenter(r.getCenterX(), r.getCenterY()); ! node.setSize(r.getWidth(), r.getHeight()); ! // TODO (2) make this configurable ! node.setZIndex(0); ! } ! else { ! Point2D p = getLocationForGeoNode(n); ! node.setCenter((p.getX()+offset.getX())*scale.getX(), (p.getY()+offset.getY())*scale.getY()); ! } ! } ! } ! else if (method == GEO) { ! Rectangle2D r = getAreaForGeoNode(node); ! if (r != null) { ! node.setCenter(r.getCenterX(), r.getCenterY()); ! node.setSize(r.getWidth(), r.getHeight()); ! // TODO (2) make this configurable ! node.setZIndex(0); ! } ! else { ! Point2D p = getLocationForGeoNode(node); ! node.setCenter((p.getX()+offset.getX())*scale.getX(), (p.getY()+offset.getY())*scale.getY()); ! } } } ! private static Point2D getLocationForGeoNode(Node node) { ! float lat = 0.0f, lon = 0.0f; ! ! String str = node.getProperty("http://www.w3.org/2003/01/geo/wgs84_pos#long"); ! if (str != null) { ! try { ! lon = Float.parseFloat(str); ! } ! catch (Exception e) { ! } ! } ! ! str = node.getProperty("http://www.w3.org/2003/01/geo/wgs84_pos#lat"); ! if (str != null) { ! try { ! lat = Float.parseFloat(str); ! } ! catch (Exception e) { } ! } ! ! Node n = node.getFirstNeighbour("http://www.funkfeuer.at/vocab#map", true); ! if (n != null) { ! n = n.getFirstNeighbour("http://www.funkfeuer.at/vocab#transformation", true); ! if (n != null) { ! str = n.getProperty("http://www.funkfeuer.at/vocab#matrix3"); ! float[] mat = ParseUtils.parseMatrix(str); ! float x = lon * mat[0] + lat * mat[1] + mat[2]; ! float y = lon * mat[3] + lat * mat[4] + mat[5]; ! lon = x; ! lat = y; ! } ! } ! return new Point2D.Float(lon, lat); } ! private static Rectangle2D getAreaForGeoNode(Node node) { ! float xmin = 0.0f, xmax = 0.0f, ymin = 0.0f, ymax = 0.0f; ! String str = node.getProperty("http://fabl.net/vocabularies/geometry/1.1/xmin"); ! if (str != null) { ! try { ! xmin = Float.parseFloat(str); ! } ! catch (Exception e) { ! return null; ! } ! } ! else return null; ! str = node.getProperty("http://fabl.net/vocabularies/geometry/1.1/xmax"); ! if (str != null) { ! try { ! xmax = Float.parseFloat(str); ! } ! catch (Exception e) { ! return null; ! } ! } ! else return null; ! str = node.getProperty("http://fabl.net/vocabularies/geometry/1.1/ymin"); ! if (str != null) { ! try { ! ymin = Float.parseFloat(str); ! } ! catch (Exception e) { ! return null; } ! } ! else return null; ! str = node.getProperty("http://fabl.net/vocabularies/geometry/1.1/ymax"); ! if (str != null) { ! try { ! ymax = Float.parseFloat(str); ! } ! catch (Exception e) { ! return null; ! } ! } ! else return null; - return new Rectangle2D.Float(xmin,ymin,xmax-xmin,ymax-ymin); } --- 23,127 ---- public class AbsoluteNodeLayouter extends AbstractFacet implements NodeLayouter { ! String xExpr; ! String yExpr; ! String widthExpr; ! String heightExpr; ! ! AffineTransform transform = new AffineTransform(); ! ! Map<Node, Point2D> positionCache = new HashMap<Node, Point2D>(); ! Map<Node, Point2D> sizeCache = new HashMap<Node, Point2D>(); /** * @see org.mediavirus.graphl.layout.NodeLayouter#performLayoutStep(org.mediavirus.graphl.graph.Node, org.mediavirus.graphl.layout.GraphlLayoutStrategy.GraphManager) */ public void performLayoutStep(Node node, GraphManager manager) { ! Point2D pos = getPosition(node); ! Point2D size = getSize(node); ! if (pos != null) { ! pos = transform.transform(pos, new Point2D.Double()); ! node.setCenter(pos.getX(), pos.getY()); } + if (size != null) { + node.setSize(size.getX(), size.getY()); + } } ! private Point2D getPosition(Node node) { ! Point2D pos = positionCache.get(node); ! ! if (pos == null) { ! double x = 0; ! double y = 0; ! ! if (xExpr != null || yExpr != null) { ! JXPathContext context = JXPathFactory.createContext(node); ! if (xExpr != null) { ! Object xO = context.getValue(xExpr); ! try { ! x = ((Double) xO).doubleValue(); ! x -= 51; ! x *= 100; ! } ! catch (Exception ex) { ! } ! } ! ! if (yExpr != null) { ! Object yO = context.getValue(yExpr); ! try { ! y = ((Double) yO).doubleValue(); ! //y -= 51.51; ! y *= 100; ! } ! catch (Exception ex) { ! } ! } } ! System.out.println("pos: " + x + ":" + y); ! pos = new Point2D.Double(x, y); ! positionCache.put(node, pos); ! } ! ! return pos; } ! private Point2D getSize(Node node) { ! Point2D size = sizeCache.get(node); ! if (size == null) { ! double width = 0; ! double height = 0; ! if (widthExpr != null || heightExpr != null) { ! JXPathContext context = JXPathFactory.createContext(node); ! if (widthExpr != null) { ! Object widthO = context.getValue(widthExpr); ! try { ! width = ((Double) widthO).doubleValue(); ! } ! catch (Exception ex) { ! } ! } ! if (heightExpr != null) { ! Object heightO = context.getValue(heightExpr); ! try { ! height = ((Double) heightO).doubleValue(); ! } ! catch (Exception ex) { ! } ! } } ! else return null; ! ! size = new Point2D.Double(width, height); ! sizeCache.put(node, size); ! } ! ! return size; } *************** *** 173,183 **** /* - * Overrides @see org.mediavirus.graphl.view.Facet#getVisualController() - */ - public JComponent getVisualController() { - return new AbsoluteNodeLayouterController(this); - } - - /* * Overrides @see org.mediavirus.graphl.view.Facet#isSameClass(java.lang.Object) */ --- 134,137 ---- *************** *** 186,250 **** } - /** - * @return Returns the offset. - */ - public Point2D getOffset() { - return offset; - } - /** - * @param offset The offset to set. - */ - public void setOffset(Point2D offset) { - this.offset = offset; - } - /** - * @return Returns the scale. - */ - public Point2D getScale() { - return scale; - } - /** - * @param scale The scale to set. - */ - public void setScale(Point2D scale) { - this.scale = scale; - } - - /** - * @return Returns the method. - */ - public int getMethod() { - return method; - } - /** - * @param method The method to set. - */ - public void setMethod(int method) { - this.method = method; - } - /** - * @return Returns the property. - */ - public String getProperty() { - return property; - } - /** - * @param property The property to set. - */ - public void setProperty(String property) { - this.property = property; - } - /** - * @return Returns the target. - */ - public Point2D getTarget() { - return target; - } - /** - * @param target The target to set. - */ - public void setTarget(Point2D target) { - this.target = target; - } /* * Overrides @see java.lang.Object#clone() --- 140,143 ---- *************** *** 269,299 **** */ public boolean isDraggable() { ! return draggable; } - public void setDraggable(boolean draggable) { - this.draggable = draggable; - } - public void setConfigurationNode(Node node) { ! String str = node.getProperty(NS.graphl + "method"); ! if ( str != null) { ! if (str.equalsIgnoreCase("property")) { ! setMethod(PROPERTY); ! } ! else if (str.equalsIgnoreCase("geo")) { ! setMethod(GEO); ! } ! else { ! setMethod(FIXED); ! } ! } ! ! str = node.getProperty(NS.graphl + "property"); ! if (str != null) setProperty(str); ! ! str = node.getProperty(NS.graphl + "draggable"); ! if (str != null) setDraggable(Boolean.valueOf(str).booleanValue()); } } --- 162,225 ---- */ public boolean isDraggable() { ! // TODO: implement draggable absolute layout by writing properties upon drag ! return false; } public void setConfigurationNode(Node node) { ! xExpr = node.getProperty(NS.graphl + "x"); ! yExpr = node.getProperty(NS.graphl + "y"); ! widthExpr = node.getProperty(NS.graphl + "width"); ! heightExpr = node.getProperty(NS.graphl + "height"); } + + + public String getHeightExpr() { + return heightExpr; + } + + + public void setHeightExpr(String heightExpr) { + this.heightExpr = heightExpr; + } + + + public String getWidthExpr() { + return widthExpr; + } + + + public void setWidthExpr(String widthExpr) { + this.widthExpr = widthExpr; + } + + + public String getXExpr() { + return xExpr; + } + + + public void setXExpr(String expr) { + xExpr = expr; + } + + + public String getYExpr() { + return yExpr; + } + + + public void setYExpr(String expr) { + yExpr = expr; + } + + + public AffineTransform getTransform() { + return transform; + } + + + public void setTransform(AffineTransform transform) { + this.transform = transform; + } } |
From: Flo L. <fl...@us...> - 2006-06-08 13:15:44
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/jxpath In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343/src/org/mediavirus/graphl/jxpath Modified Files: GraphNodePointer.java Added Files: JXPathFunctions.java JXPathFactory.java Removed Files: GraphPointerFactory.java Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( --- NEW FILE: JXPathFunctions.java --- /* * Created on 19.12.2005 */ package org.mediavirus.graphl.jxpath; import org.mediavirus.graphl.GraphlRegistry; import org.mediavirus.util.ParseUtils; public class JXPathFunctions { public static String name(String uri) { return ParseUtils.guessName(uri); } public static String namespace(String uri) { return ParseUtils.guessNamespace(uri); } public static String prefix(String uri) { return GraphlRegistry.instance().getVocabularyRegistry().resolvePrefix(namespace(uri)); } public static String test(Object args) { System.out.println("TEST: " + args); return "foo"; } } --- NEW FILE: JXPathFactory.java --- /* * Created on 15.12.2005 */ package org.mediavirus.graphl.jxpath; import java.util.Locale; import org.apache.commons.jxpath.ClassFunctions; import org.apache.commons.jxpath.JXPathContext; import org.apache.commons.jxpath.ri.QName; import org.apache.commons.jxpath.ri.model.NodePointer; import org.apache.commons.jxpath.ri.model.NodePointerFactory; import org.mediavirus.graphl.graph.Edge; import org.mediavirus.graphl.graph.Node; public class JXPathFactory implements NodePointerFactory { public int getOrder() { return 1; } public NodePointer createNodePointer(NodePointer parent, QName name, Object object) { if (object instanceof Node) { return new GraphNodePointer(parent, (Node)object); } else if (object instanceof Edge) { return new GraphEdgePointer(parent, (Edge)object); } else { return null; } } public NodePointer createNodePointer(QName name, Object object, Locale locale) { if (object instanceof Node) { return new GraphNodePointer((Node)object); } else if (object instanceof Edge) { return new GraphEdgePointer((Edge)object); } else { return null; } } public static JXPathContext createContext(Object object) { JXPathContext context = JXPathContext.newContext(object); context.setFunctions(new ClassFunctions(JXPathFunctions.class, "graphl")); context.setLenient(true); return context; } } --- GraphPointerFactory.java DELETED --- Index: GraphNodePointer.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/jxpath/GraphNodePointer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** GraphNodePointer.java 18 Dec 2005 11:11:39 -0000 1.1 --- GraphNodePointer.java 8 Jun 2006 13:14:58 -0000 1.2 *************** *** 62,66 **** String prefix = GraphlRegistry.instance().getVocabularyRegistry().resolvePrefix(ns); String name = ParseUtils.guessName(type); ! return new QName(prefix, name); } --- 62,66 ---- String prefix = GraphlRegistry.instance().getVocabularyRegistry().resolvePrefix(ns); String name = ParseUtils.guessName(type); ! return new QName(prefix, name); } |
From: Flo L. <fl...@us...> - 2006-06-08 13:15:40
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/graph/rdf In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343/src/org/mediavirus/graphl/graph/rdf Modified Files: RDFGraph.java RDFNode.java Added Files: RDFGraphReader.java Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( --- NEW FILE: RDFGraphReader.java --- /* * Created on 20.12.2005 */ package org.mediavirus.graphl.graph.rdf; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import org.mediavirus.graphl.GraphlRegistry; import org.mediavirus.graphl.graph.Edge; import org.mediavirus.graphl.graph.Node; import org.mediavirus.graphl.vocabulary.NS; import org.mediavirus.util.ParseUtils; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import edu.unika.aifb.rdf.api.syntax.RDFConsumer; import edu.unika.aifb.rdf.api.syntax.RDFParser; public class RDFGraphReader implements RDFConsumer{ RDFGraph graph; URL url; Node sourceNode; boolean reload = false; boolean loading = false; List<Node> nodesToRemove; List<Edge> edgesToRemove; List<URL> loadedURLs; int loadCount; float loadAlpha; public RDFGraphReader(RDFGraph graph, URL url) { this.graph = graph; this.url = url; } public List<URL> read() throws IOException{ try { loadCount = 0; loadAlpha = 0; loadedURLs = new ArrayList<URL>(); loadedURLs.add(url); sourceNode = graph.getNodeById(url.toString()); if (sourceNode == null) { sourceNode = graph.getNodeOrAdd(url.toString()); reload = false; } else { // we are reloading a file // store old nodes+edges for checking deletions // while loading, nodes and edges are removed from these lists nodesToRemove = sourceNode.getNeighbours(NS.graphl + "definedIn", Node.REVERSE); nodesToRemove.remove(sourceNode); edgesToRemove = graph.getEdgesWithPropertyValue(NS.graphl + "definedIn",url.toString()); reload = true; } if (sourceNode.getNeighbours(NS.graphl + "definedIn", Node.FORWARD).size() == 0) { Edge edge = graph.createEdge(sourceNode, sourceNode); edge.setSource(NS.graphl + "SYSTEM"); edge.setType(NS.graphl + "definedIn"); graph.addElements(null, Collections.singleton(edge)); } InputSource input; input = new InputSource(url.openConnection().getInputStream()); input.setSystemId(url.toString()); RDFParser parser = new RDFParser(); loading = true; try { parser.parse(input, this); } catch (Exception e) { e.printStackTrace(); } loading = false; if (reload) { for (Iterator<Node> nodesI = nodesToRemove.iterator(); nodesI.hasNext();) { Node node = nodesI.next(); List<Node> nodeSources = node.getNeighbours(NS.graphl + "definedIn", Node.FORWARD); if (nodeSources.size() > 1) { // keep nodes with multiple sources nodesToRemove.remove(node); } } graph.deleteElements(nodesToRemove, edgesToRemove); } return loadedURLs; } finally { loading = false; reload = false; } } // from getNodeOrNew() // from createEdge() // if (loadingURL != null) { // edge.setSource(loadingURL.toString()); //} //else { // edge.setSource(NS.graphl + "USER"); //} /** * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#startModel(java.lang.String) */ public void startModel(String physicalURI) throws SAXException { if (GraphlRegistry.DEBUG) System.out.println("RDF: startModel"); } /** * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#endModel() */ public void endModel() throws SAXException { if (GraphlRegistry.DEBUG) System.out.println("RDF: endModel"); } /** * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#statementWithResourceValue(java.lang.String, java.lang.String, java.lang.String) */ public void statementWithResourceValue(String subject, String predicate, String object) throws SAXException { try { subject = new URL(url, subject).toString(); } catch (MalformedURLException muex) { // do nothing } try { object = new URL(url, object).toString(); } catch (MalformedURLException muex) { // do nothing } Node snode; Node onode; try { snode = getNodeOrAdd(subject); onode = getNodeOrAdd(object); // get / create connection List edges = snode.getEdgesFrom(); RDFEdge edge = null; boolean exists = false; for (Iterator iter = edges.iterator(); iter.hasNext();) { edge = (RDFEdge) iter.next(); if ((edge.getTo() == onode) && (edge.getType().equals(predicate))) { exists = true; if (reload) edgesToRemove.remove(edge); break; } } if (!exists) { edge = new RDFEdge(snode, onode); edge.setType(predicate); edge.setSource(url.toString()); graph.addElements(null, Collections.singleton((Edge)edge)); if (GraphlRegistry.DEBUG) System.out.println("created edge " + subject + ", " + predicate + ", " + object); if (predicate.equals("http://www.w3.org/2002/07/owl#imports") || predicate.equals(NS.rdfs + "seeAlso")) { //if (predicate.equals("http://www.w3.org/2002/07/owl#imports")) { try { URL importURL = new URL(url, object); System.out.println("importing " + importURL.toString() + " ... "); RDFGraphReader importReader = new RDFGraphReader(graph, importURL); loadedURLs.addAll(importReader.read()); } catch (Exception ex) { System.out.println("Error importing " + object + " : " + ex.toString()); } } } } catch (Exception ex) { if (GraphlRegistry.DEBUG) System.out.println("Error while reading triple: " + subject + ", " + predicate + ", " + object); //ex.printStackTrace(); } } /** * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#statementWithLiteralValue(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) */ public void statementWithLiteralValue(String subject, String predicate, String object, String language, String datatype) throws SAXException { // get absolute URL for subject try { subject = new URL(url, subject).toString(); } catch (MalformedURLException muex) { // do nothing } Node snode; try { snode = getNodeOrAdd(subject); snode.setProperty(predicate, object); if (GraphlRegistry.DEBUG) System.out.println("created property " + subject + ", " + predicate + ", " + object); } catch (Exception ex) { if (GraphlRegistry.DEBUG) System.out.println("Error while reading triple: " + subject + ", " + predicate + ", " + object); } } protected Node getNodeOrAdd(String uri) { Node node = graph.getNodeById(uri); if (node == null) { node = graph.getNodeOrAdd(uri); // the node is new, so assign default coordinates float r = 20 + loadCount; loadAlpha += 30 / r; node.setCenter(r * Math.sin(loadAlpha), r * Math.cos(loadAlpha)); loadCount++; } else if (reload) { if (!ParseUtils.guessName(uri).startsWith("genid")) { // if the node has a proper id and it's already in the graph, it has existed before nodesToRemove.remove(node); } else { // use heuristics to select similar node? } } boolean found = false; for (Iterator i = node.getNeighbours(NS.graphl + "definedIn", Node.FORWARD).iterator(); i.hasNext();) { Node source = (Node) i.next(); if (source.equals(sourceNode)) { found = true; break; } } if (!found) { Edge edge = graph.createEdge(node, sourceNode); edge.setSource(NS.graphl + "SYSTEM"); edge.setType(NS.graphl + "definedIn"); graph.addElements(null, Collections.singleton(edge)); } return node; } /** * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#logicalURI(java.lang.String) */ public void logicalURI(String logicalURI) throws SAXException { if (GraphlRegistry.DEBUG) System.out.println("RDF: logicalURI: " + logicalURI); } /** * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#includeModel(java.lang.String, java.lang.String) */ public void includeModel(String logicalURI, String physicalURI) throws SAXException { if (GraphlRegistry.DEBUG) System.out.println("RDF: includeModel: " + logicalURI + ", " + physicalURI); } /** * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#addModelAttribte(java.lang.String, java.lang.String) */ public void addModelAttribte(String key, String value) throws SAXException { if (GraphlRegistry.DEBUG) System.out.println("RDF: addModelAttribte" + key + ", " + value); } } Index: RDFNode.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/graph/rdf/RDFNode.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** RDFNode.java 18 Dec 2005 11:11:41 -0000 1.12 --- RDFNode.java 8 Jun 2006 13:14:59 -0000 1.13 *************** *** 85,89 **** Node typeNode; try { ! typeNode = graph.getNodeOrNew(type); RDFEdge typeEdge = new RDFEdge(this, typeNode); typeEdge.setType("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"); --- 85,89 ---- Node typeNode; try { ! typeNode = graph.getNodeOrAdd(type); RDFEdge typeEdge = new RDFEdge(this, typeNode); typeEdge.setType("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"); Index: RDFGraph.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/graph/rdf/RDFGraph.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** RDFGraph.java 18 Dec 2005 11:11:41 -0000 1.14 --- RDFGraph.java 8 Jun 2006 13:14:59 -0000 1.15 *************** *** 5,10 **** package org.mediavirus.graphl.graph.rdf; - import java.util.Iterator; - import java.io.File; import java.io.IOException; --- 5,8 ---- *************** *** 13,20 **** import java.net.MalformedURLException; import java.net.URL; - import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Hashtable; import java.util.List; import java.util.Map; --- 11,18 ---- import java.net.MalformedURLException; import java.net.URL; import java.util.Collection; import java.util.Collections; import java.util.Hashtable; + import java.util.Iterator; import java.util.List; import java.util.Map; *************** *** 25,34 **** import org.mediavirus.graphl.graph.Graph; import org.mediavirus.graphl.graph.Node; - import org.mediavirus.graphl.vocabulary.NS; - import org.xml.sax.InputSource; - import org.xml.sax.SAXException; - import edu.unika.aifb.rdf.api.syntax.RDFConsumer; - import edu.unika.aifb.rdf.api.syntax.RDFParser; import edu.unika.aifb.rdf.api.syntax.RDFWriter; --- 23,27 ---- *************** *** 37,43 **** * @author Flo Ledermann <led...@im...> */ ! public class RDFGraph extends DefaultGraph implements RDFConsumer { ! ! public static boolean DEBUG = false; boolean dirty = false; --- 30,34 ---- * @author Flo Ledermann <led...@im...> */ ! public class RDFGraph extends DefaultGraph { boolean dirty = false; *************** *** 45,149 **** Hashtable<String, Node> allNodes = new Hashtable<String, Node>(); ! URL loadingURL = null; ! ! List<URL> loadingURLs = null; ! ! Node sourceNode = null; ! ! private int loadCount = 0; ! ! private float loadAlpha = 0.1f; ! ! public RDFNode getNodeById(String id) { ! ! return (RDFNode) allNodes.get(id); ! } ! ! public static void writeToRDF(Graph graph, OutputStream out, String baseURL) throws IOException { ! ! RDFWriter writer = new RDFWriter(); ! ! Map<String, String> namespaceMap = GraphlRegistry.instance().getVocabularyRegistry().getNamespaces(); ! for (Iterator prefixes = namespaceMap.keySet().iterator(); prefixes.hasNext();) { ! String prefix = (String)prefixes.next(); ! writer.addNamespacePrefix(prefix, namespaceMap.get(prefix)); ! } ! // TODO (2) use vocabularies from config for prefix resolution ! // writer.addNamespacePrefix("graphl", NS.graphl); ! // writer.addNamespacePrefix("foaf", "http://xmlns.com/foaf/0.1/"); ! // writer.addNamespacePrefix("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#"); ! // writer.addNamespacePrefix("rdfs", "http://www.w3.org/2000/01/rdf-schema#"); ! // writer.addNamespacePrefix("owl", "http://www.w3.org/2002/07/owl#"); ! // writer.addNamespacePrefix("map", "http://fabl.net/vocabularies/geography/map/1.1/"); ! // writer.addNamespacePrefix("geo", "http://www.w3.org/2003/01/geo/wgs84_pos#"); ! // writer.addNamespacePrefix("dc", "http://purl.org/dc/elements/1.1/"); ! // writer.addNamespacePrefix("foo", "http://www.mediavirus.org/foo#"); ! // writer.addNamespacePrefix("vs", "http://www.w3.org/2003/06/sw-vocab-status/ns#"); ! // writer.addNamespacePrefix("wot", "http://xmlns.com/wot/0.1/"); ! ! writer.prepareNamespaceCollection(); ! ! for (Iterator namespaces = namespaceMap.values().iterator(); namespaces.hasNext();) { ! String ns = (String)namespaces.next(); ! writer.collectNamespace(ns); ! } ! ! // writer.collectNamespace(NS.graphl); ! // writer.collectNamespace("http://xmlns.com/foaf/0.1/"); ! // writer.collectNamespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#"); ! // writer.collectNamespace("http://www.w3.org/2000/01/rdf-schema#"); ! // writer.collectNamespace("http://www.w3.org/2002/07/owl#"); ! // writer.collectNamespace("http://fabl.net/vocabularies/geography/map/1.1/"); ! // writer.collectNamespace("http://www.w3.org/2003/01/geo/wgs84_pos#"); ! // writer.collectNamespace("http://purl.org/dc/elements/1.1/"); ! // writer.collectNamespace("http://www.mediavirus.org/foo#"); ! // writer.collectNamespace("http://www.w3.org/2003/06/sw-vocab-status/ns#"); ! // writer.collectNamespace("http://xmlns.com/wot/0.1/"); ! ! OutputStreamWriter owriter = new OutputStreamWriter(out); ! writer.startSerialization(owriter, "", "", "UTF-8"); ! writer.startRDFContents(); ! ! List allNodes = graph.getNodes(); ! List allEdges = graph.getEdges(); ! ! for (Iterator iter = allNodes.iterator(); iter.hasNext();) { ! Node node = (Node) iter.next(); ! ! String id = node.getId(); ! if ((baseURL != null) && (id.startsWith(baseURL)) && (id.lastIndexOf('#') > -1)) { ! id = id.substring(id.lastIndexOf('#')); ! } ! ! for (Iterator attrs = node.getProperties().keySet().iterator(); attrs.hasNext();) { ! String attr = (String) attrs.next(); ! writer.writeStatement(id, attr, node.getProperty(attr), null, null, true); ! } ! List nodeEdges = node.getEdgesFrom(); ! for (Iterator edgeIter = nodeEdges.iterator(); edgeIter.hasNext();) { ! Edge edge = (Edge) edgeIter.next(); ! // TODO (3) this would be a reason to have a FilteredNode class that returns only filtered edges... ! if (allEdges.contains(edge)) { ! String toId = edge.getTo().getId(); ! if ((baseURL != null) && (toId.startsWith(baseURL)) && (toId.lastIndexOf('#') > -1)) { ! toId = toId.substring(toId.lastIndexOf('#')); ! } ! writer.writeStatement(id, edge.getType(), toId, null, null, false); ! } ! } ! } ! ! writer.finishRDFContents(); ! writer.cleanUp(); ! ! } ! ! public void writeToRDF(OutputStream out, String baseURL) throws IOException { ! ! writeToRDF(this, out, baseURL); ! } ! ! public synchronized Iterator<URL> readFromFile(File file) throws IOException { ! try { URL url = new URL("file:///" + file.getAbsolutePath()); --- 36,40 ---- Hashtable<String, Node> allNodes = new Hashtable<String, Node>(); ! public synchronized List<URL> readFromFile(File file) throws IOException { try { URL url = new URL("file:///" + file.getAbsolutePath()); *************** *** 156,173 **** } ! public synchronized Iterator<URL> readFromURL(URL url) throws IOException{ ! ! try { ! loadingURLs = new ArrayList<URL>(); ! importFromURL(url); ! ! Iterator<URL> retVal = loadingURLs.iterator(); ! ! return retVal; ! } ! finally { ! loadingURLs = null; ! } ! } --- 47,52 ---- } ! public synchronized List<URL> readFromURL(URL url) throws IOException { ! return importFromURL(url); } *************** *** 179,342 **** * @param url The URL to load. */ ! protected void importFromURL(URL url) throws IOException{ try { ! loadingURL = url; ! sourceNode = getNodeOrNew(loadingURL.toString()); ! ! if (sourceNode.getNeighbours(NS.graphl + "definedIn", true).size() == 0) { ! Edge edge = createEdge(sourceNode, sourceNode); ! edge.setSource(NS.graphl + "SYSTEM"); ! edge.setType(NS.graphl + "definedIn"); ! addElements(null, Collections.singleton(edge)); ! } ! ! InputSource input; ! ! input = new InputSource(url.openConnection().getInputStream()); ! input.setSystemId(url.toString()); ! readGraph(input); ! loadingURLs.add(url); } finally { ! loadingURL = null; ! sourceNode = null; } - } - - public synchronized void readGraph(InputSource input) { - RDFParser parser = new RDFParser(); - loading = true; - try { - parser.parse(input, this); - } - catch (Exception e) { - e.printStackTrace(); - } - loading = false; - resetDirty(); - fireGraphContentsChanged(); } ! /** ! * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#startModel(java.lang.String) ! */ ! public void startModel(String physicalURI) throws SAXException { ! ! if (DEBUG) System.out.println("RDF: startModel"); ! } ! ! /** ! * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#endModel() ! */ ! public void endModel() throws SAXException { ! ! if (DEBUG) System.out.println("RDF: endModel"); ! } ! ! /** ! * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#statementWithResourceValue(java.lang.String, java.lang.String, java.lang.String) ! */ ! public void statementWithResourceValue(String subject, String predicate, String object) throws SAXException { ! ! //if (predicate.equals(NS.graphl + "connectedTo")) { ! // get / create node with label subject ! ! if (loadingURL != null) { ! try { ! subject = new URL(loadingURL, subject).toString(); ! } ! catch (MalformedURLException muex) { ! // do nothing ! } ! try { ! object = new URL(loadingURL, object).toString(); ! } ! catch (MalformedURLException muex) { ! // do nothing ! } ! } ! ! Node snode; ! Node onode; ! try { ! snode = getNodeOrNew(subject); ! onode = getNodeOrNew(object); ! ! // get / create connection ! List edges = snode.getEdgesFrom(); ! RDFEdge edge = null; ! boolean exists = false; ! ! for (Iterator iter = edges.iterator(); iter.hasNext();) { ! edge = (RDFEdge) iter.next(); ! if ((edge.getTo() == onode) && (edge.getType().equals(predicate))) { ! exists = true; ! break; ! } ! } ! ! if (!exists) { ! edge = new RDFEdge(snode, onode); ! edge.setType(predicate); ! edge.setSource(loadingURL.toString()); ! addElements(null, Collections.singleton((Edge)edge)); ! if (DEBUG) System.out.println("created edge " + subject + ", " + predicate + ", " + object); ! ! if (predicate.equals("http://www.w3.org/2002/07/owl#imports") || predicate.equals(NS.rdfs + "seeAlso")) { ! //if (predicate.equals("http://www.w3.org/2002/07/owl#imports")) { ! URL oldBase = loadingURL; ! Node oldSource = sourceNode; ! try { ! URL importURL = new URL(loadingURL, object); ! System.out.println("importing " + importURL.toString() + " ... "); ! importFromURL(importURL); ! // restore original base url ! } ! catch (Exception ex) { ! System.out.println("Error importing " + object); ! } ! finally { ! loadingURL = oldBase; ! sourceNode = oldSource; ! } ! } ! } ! } ! catch (Exception ex) { ! if (DEBUG) System.out.println("Error while reading triple: " + subject + ", " + predicate + ", " + object); ! //ex.printStackTrace(); ! } ! } ! public Node getNodeOrNew(String uri) { ! RDFNode node = getNodeById(uri); if (node == null) { node = new RDFNode(this, uri); ! float r = 20 + loadCount; ! loadAlpha += 30 / r; ! node.setCenter(r * Math.sin(loadAlpha), r * Math.cos(loadAlpha)); ! loadCount++; ! addElements(Collections.singleton((Node)node), null); ! if (DEBUG) System.out.println("created node " + uri); ! } ! if (sourceNode != null) { ! boolean found = false; ! for (Iterator i = node.getNeighbours(NS.graphl + "definedIn", true).iterator(); i.hasNext();) { ! Node source = (Node) i.next(); ! if (source.equals(sourceNode)) { ! found = true; ! break; ! } ! } ! if (!found) { ! Edge edge = createEdge(node, sourceNode); ! edge.setSource(NS.graphl + "SYSTEM"); ! edge.setType(NS.graphl + "definedIn"); ! addElements(null, Collections.singleton(edge)); ! } } return node; --- 58,89 ---- * @param url The URL to load. */ ! protected synchronized List<URL> importFromURL(URL url) throws IOException { + // we have to set the loading flag to prevent elementsAdded notifications during loading + loading = true; + boolean oldDirty = isDirty(); try { ! RDFGraphReader reader = new RDFGraphReader(this, url); ! List<URL> retVal = reader.read(); ! fireGraphContentsChanged(); ! return retVal; } finally { ! loading = false; ! setDirty(oldDirty); } } ! public RDFNode getNodeById(String id) { ! return (RDFNode) allNodes.get(id); } ! public Node getNodeOrAdd(String uri) { RDFNode node = getNodeById(uri); if (node == null) { node = new RDFNode(this, uri); ! addElements(Collections.singleton((Node) node), null); ! if (GraphlRegistry.DEBUG) System.out.println("created node " + uri); } return node; *************** *** 353,362 **** RDFEdge edge = new RDFEdge(from, to); - if (loadingURL != null) { - edge.setSource(loadingURL.toString()); - } - else { - edge.setSource(NS.graphl + "USER"); - } //addElements(null, Collections.singleton(edge)); return edge; --- 100,103 ---- *************** *** 364,424 **** /** - * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#statementWithLiteralValue(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) - */ - public void statementWithLiteralValue(String subject, String predicate, String object, String language, String datatype) throws SAXException { - - // get absolute URL for subject - if (loadingURL != null) { - try { - subject = new URL(loadingURL, subject).toString(); - } - catch (MalformedURLException muex) { - // do nothing - } - } - - Node snode; - try { - snode = getNodeOrNew(subject); - snode.setProperty(predicate, object); - if (DEBUG) System.out.println("created property " + subject + ", " + predicate + ", " + object); - } - catch (Exception ex) { - if (DEBUG) System.out.println("Error while reading triple: " + subject + ", " + predicate + ", " + object); - } - } - - /** - * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#logicalURI(java.lang.String) - */ - public void logicalURI(String logicalURI) throws SAXException { - - if (DEBUG) - System.out.println("RDF: logicalURI: " + logicalURI); - } - - /** - * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#includeModel(java.lang.String, java.lang.String) - */ - public void includeModel(String logicalURI, String physicalURI) throws SAXException { - - if (DEBUG) - System.out.println("RDF: includeModel: " + logicalURI + ", " + physicalURI); - } - - /** - * @see edu.unika.aifb.rdf.api.syntax.RDFConsumer#addModelAttribte(java.lang.String, java.lang.String) - */ - public void addModelAttribte(String key, String value) throws SAXException { - - if (DEBUG) - System.out.println("RDF: addModelAttribte" + key + ", " + value); - } - - /** * @return Returns the dirty flag. */ public boolean isDirty() { - return dirty; } --- 105,111 ---- *************** *** 428,445 **** */ public void setDirty(boolean dirty) { - this.dirty = dirty; } - public void setDirty() { - - setDirty(true); - } - - public void resetDirty() { - - setDirty(false); - } - /* * Overrides @see de.fzi.wim.guibase.graphview.graph.DefaultGraph#addElements(java.util.Collection, java.util.Collection) --- 115,121 ---- *************** *** 447,451 **** public synchronized void addElements(Collection<Node> nodes, Collection<Edge> edges) { ! setDirty(); super.addElements(nodes, edges); --- 123,127 ---- public synchronized void addElements(Collection<Node> nodes, Collection<Edge> edges) { ! setDirty(true); super.addElements(nodes, edges); *************** *** 463,470 **** public synchronized void clear() { ! setDirty(); allNodes.clear(); super.clear(); - loadCount = 0; } --- 139,145 ---- public synchronized void clear() { ! setDirty(true); allNodes.clear(); super.clear(); } *************** *** 474,479 **** public synchronized void deleteElements(Collection<Node> nodes, Collection<Edge> edges) { ! setDirty(); ! super.deleteElements(nodes, edges); if (nodes != null) { --- 149,153 ---- public synchronized void deleteElements(Collection<Node> nodes, Collection<Edge> edges) { ! setDirty(true); if (nodes != null) { *************** *** 483,486 **** --- 157,247 ---- } } + // TODO after this call, nodes is empty??? why??? + super.deleteElements(nodes, edges); + + } + + public static void writeToRDF(Graph graph, OutputStream out, String baseURL) throws IOException { + + RDFWriter writer = new RDFWriter(); + + Map<String, String> namespaceMap = GraphlRegistry.instance().getVocabularyRegistry().getNamespaces(); + for (Iterator prefixes = namespaceMap.keySet().iterator(); prefixes.hasNext();) { + String prefix = (String) prefixes.next(); + writer.addNamespacePrefix(prefix, namespaceMap.get(prefix)); + } + // TODO (2) use vocabularies from config for prefix resolution + // writer.addNamespacePrefix("graphl", NS.graphl); + // writer.addNamespacePrefix("foaf", "http://xmlns.com/foaf/0.1/"); + // writer.addNamespacePrefix("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#"); + // writer.addNamespacePrefix("rdfs", "http://www.w3.org/2000/01/rdf-schema#"); + // writer.addNamespacePrefix("owl", "http://www.w3.org/2002/07/owl#"); + // writer.addNamespacePrefix("map", "http://fabl.net/vocabularies/geography/map/1.1/"); + // writer.addNamespacePrefix("geo", "http://www.w3.org/2003/01/geo/wgs84_pos#"); + // writer.addNamespacePrefix("dc", "http://purl.org/dc/elements/1.1/"); + // writer.addNamespacePrefix("foo", "http://www.mediavirus.org/foo#"); + writer.addNamespacePrefix("vs", "http://www.w3.org/2003/06/sw-vocab-status/ns#"); + // writer.addNamespacePrefix("wot", "http://xmlns.com/wot/0.1/"); + + writer.prepareNamespaceCollection(); + + for (Iterator namespaces = namespaceMap.values().iterator(); namespaces.hasNext();) { + String ns = (String) namespaces.next(); + writer.collectNamespace(ns); + } + + // writer.collectNamespace(NS.graphl); + // writer.collectNamespace("http://xmlns.com/foaf/0.1/"); + // writer.collectNamespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#"); + // writer.collectNamespace("http://www.w3.org/2000/01/rdf-schema#"); + // writer.collectNamespace("http://www.w3.org/2002/07/owl#"); + // writer.collectNamespace("http://fabl.net/vocabularies/geography/map/1.1/"); + // writer.collectNamespace("http://www.w3.org/2003/01/geo/wgs84_pos#"); + // writer.collectNamespace("http://purl.org/dc/elements/1.1/"); + // writer.collectNamespace("http://www.mediavirus.org/foo#"); + writer.collectNamespace("http://www.w3.org/2003/06/sw-vocab-status/ns#"); + // writer.collectNamespace("http://xmlns.com/wot/0.1/"); + + OutputStreamWriter owriter = new OutputStreamWriter(out); + writer.startSerialization(owriter, "", "", "UTF-8"); + writer.startRDFContents(); + + List allNodes = graph.getNodes(); + List allEdges = graph.getEdges(); + + for (Iterator iter = allNodes.iterator(); iter.hasNext();) { + Node node = (Node) iter.next(); + + String id = node.getId(); + if ((baseURL != null) && (id.startsWith(baseURL)) && (id.lastIndexOf('#') > -1)) { + id = id.substring(id.lastIndexOf('#')); + } + + for (Iterator attrs = node.getProperties().keySet().iterator(); attrs.hasNext();) { + String attr = (String) attrs.next(); + System.out.println("WRITING: " + id + ";" + attr + ";" + node.getProperty(attr)); + writer.writeStatement(id, attr, node.getProperty(attr), null, null, true); + } + List nodeEdges = node.getEdgesFrom(); + for (Iterator edgeIter = nodeEdges.iterator(); edgeIter.hasNext();) { + Edge edge = (Edge) edgeIter.next(); + // TODO (3) this would be a reason to have a FilteredNode class that returns only filtered edges... + if (allEdges.contains(edge)) { + String toId = edge.getTo().getId(); + if ((baseURL != null) && (toId.startsWith(baseURL)) && (toId.lastIndexOf('#') > -1)) { + toId = toId.substring(toId.lastIndexOf('#')); + } + writer.writeStatement(id, edge.getType(), toId, null, null, false); + } + } + } + + writer.finishRDFContents(); + writer.cleanUp(); + + } + + public void writeToRDF(OutputStream out, String baseURL) throws IOException { + writeToRDF(this, out, baseURL); } |
From: Flo L. <fl...@us...> - 2006-06-08 13:15:39
|
Update of /cvsroot/graphl/graphl In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343 Modified Files: .cvsignore build.xml todo.txt .project changelog.txt Added Files: .tomcatplugin Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( Index: .cvsignore =================================================================== RCS file: /cvsroot/graphl/graphl/.cvsignore,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** .cvsignore 1 Jul 2004 18:18:42 -0000 1.4 --- .cvsignore 8 Jun 2006 13:14:58 -0000 1.5 *************** *** 3,4 **** --- 3,5 ---- related .cdtproject + work Index: .project =================================================================== RCS file: /cvsroot/graphl/graphl/.project,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** .project 17 Aug 2005 15:52:53 -0000 1.3 --- .project 8 Jun 2006 13:14:58 -0000 1.4 *************** *** 28,31 **** --- 28,32 ---- <nature>net.sourceforge.metrics.nature</nature> <nature>com.omondo.uml.std.Nature</nature> + <nature>com.sysdeo.eclipse.tomcat.tomcatnature</nature> </natures> </projectDescription> Index: todo.txt =================================================================== RCS file: /cvsroot/graphl/graphl/todo.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** todo.txt 5 Sep 2005 15:52:25 -0000 1.1 --- todo.txt 8 Jun 2006 13:14:58 -0000 1.2 *************** *** 4,8 **** - performance optimization session - refactor into NodeView, EdgeView, GraphView (= FilteredGraph + GraphlPane features ?) - - label genaration has to be solved properly - RDF stylesheets (property based layout)? \ No newline at end of file --- 4,7 ---- Index: build.xml =================================================================== RCS file: /cvsroot/graphl/graphl/build.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** build.xml 18 Dec 2005 11:11:41 -0000 1.8 --- build.xml 8 Jun 2006 13:14:58 -0000 1.9 *************** *** 13,16 **** --- 13,17 ---- <fileset file="lib/l2fprod-common-sheet.jar"/> <fileset file="lib/l2fprod-common-fontchooser.jar"/> + <fileset file="lib/commons-jxpath-1.2.jar"/> </copy> <copy todir="web/WEB-INF/classes"><fileset dir="bin"/></copy> *************** *** 60,64 **** packagenames="*" sourcepath="src" ! classpath="lib/servlet-api.jar;lib/rdfapi.jar;bin" doctitle="graphl API Documentation"/> </target> --- 61,65 ---- packagenames="*" sourcepath="src" ! classpath="lib/servlet-api.jar;lib/rdfapi.jar;commons-jxpath-1.2.jar;bin" doctitle="graphl API Documentation"/> </target> Index: changelog.txt =================================================================== RCS file: /cvsroot/graphl/graphl/changelog.txt,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** changelog.txt 18 Dec 2005 11:13:25 -0000 1.21 --- changelog.txt 8 Jun 2006 13:14:58 -0000 1.22 *************** *** 2,5 **** --- 2,15 ---- ================== + 2005-12-25, f/0: + - FEATURE: migrated a lot of stuff to applet, e.g. periodical reload + - FEATURE: find as you type selects node based on their label + - FEATURE: reloading a graph will now delete nodes and edges (with id) that have been present in the old file + - BUG: fixed selection management + - CODE: moved a lot of features/methods from GraphlApplication, GraphlPanel to GraphlPane + - CODE: refactored RDF loading into seperate class, giving us the ability to handle reloads better + - CODE: implemented clearing of JXPath caches in facets (hacky, should be done with XPath listeners) + - CODE: added tomcat plugin settings to project + 2005-12-18, f/0: - FEATURE: RXPath landed! you can assign properties of facets through XPath-like expressions based on the currently rendered node *************** *** 25,29 **** 2005-09-05, f/0: ! - FEATURE: updated save machanism to new multi-souurce paradigm - BUG: FilteredGraph: corrected update behavior upon changes - CODE: added methods to access filtered and unfiltered versions of the graph in GraphlPane --- 35,39 ---- 2005-09-05, f/0: ! - FEATURE: updated save machanism to new multi-source paradigm - BUG: FilteredGraph: corrected update behavior upon changes - CODE: added methods to access filtered and unfiltered versions of the graph in GraphlPane --- NEW FILE: .tomcatplugin --- <?xml version="1.0" encoding="UTF-8"?> <tomcatProjectProperties> <rootDir>/web</rootDir> <exportSource>false</exportSource> <reloadable>true</reloadable> <redirectLogger>false</redirectLogger> <updateXml>true</updateXml> <warLocation></warLocation> <extraInfo></extraInfo> <webPath>/graphl</webPath> </tomcatProjectProperties> |
From: Flo L. <fl...@us...> - 2006-06-08 13:15:38
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/selection In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343/src/org/mediavirus/graphl/selection Modified Files: DefaultSelectionModel.java Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( Index: DefaultSelectionModel.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/selection/DefaultSelectionModel.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DefaultSelectionModel.java 18 Dec 2005 11:11:41 -0000 1.2 --- DefaultSelectionModel.java 8 Jun 2006 13:14:59 -0000 1.3 *************** *** 3,6 **** --- 3,7 ---- import java.util.Collection; import java.util.Collections; + import java.util.List; import java.util.Set; import java.util.HashSet; *************** *** 222,234 **** */ protected class GraphHandler implements GraphListener { public void graphLayoutUpdated(Graph graph) { } public void graphUpdated(Graph graph) { } public void graphContentsChanged(Graph graph) { ! clear(); } public void elementsAdded(Graph graph,Collection nodes,Collection edges) { } public void elementsRemoved(Graph graph,Collection nodes,Collection edges) { if (nodes!=null) { --- 223,254 ---- */ protected class GraphHandler implements GraphListener { + public void graphLayoutUpdated(Graph graph) { } + public void graphUpdated(Graph graph) { } + public void graphContentsChanged(Graph graph) { ! List<Node> allNodes = graph.getNodes(); ! for (Iterator<Node> nodesI = getSelectedNodes().iterator(); nodesI.hasNext();) { ! Node node = nodesI.next(); ! if (!allNodes.contains(node)) { ! removeNode(node); ! } ! ! } ! List<Edge> allEdges = graph.getEdges(); ! for (Iterator<Edge> edgesI = getSelectedEdges().iterator(); edgesI.hasNext();) { ! Edge edge = edgesI.next(); ! if (!allEdges.contains(edge)) { ! removeEdge(edge); ! } ! } } + public void elementsAdded(Graph graph,Collection nodes,Collection edges) { } + public void elementsRemoved(Graph graph,Collection nodes,Collection edges) { if (nodes!=null) { |
From: Flo L. <fl...@us...> - 2006-06-08 13:15:36
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/graph/filter In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343/src/org/mediavirus/graphl/graph/filter Modified Files: FilteredGraph.java SourceFilter.java Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( Index: SourceFilter.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/graph/filter/SourceFilter.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** SourceFilter.java 18 Dec 2005 11:11:41 -0000 1.3 --- SourceFilter.java 8 Jun 2006 13:15:00 -0000 1.4 *************** *** 41,45 **** boolean result = rejectSources; ! for (Iterator nodesI = node.getNeighbours(NS.graphl + "definedIn", true).iterator(); nodesI.hasNext();) { Node source = (Node) nodesI.next(); boolean match = false; --- 41,45 ---- boolean result = rejectSources; ! for (Iterator nodesI = node.getNeighbours(NS.graphl + "definedIn", Node.FORWARD).iterator(); nodesI.hasNext();) { Node source = (Node) nodesI.next(); boolean match = false; Index: FilteredGraph.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/graph/filter/FilteredGraph.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** FilteredGraph.java 18 Dec 2005 11:11:41 -0000 1.5 --- FilteredGraph.java 8 Jun 2006 13:14:59 -0000 1.6 *************** *** 231,238 **** /** ! * @see org.mediavirus.graphl.graph.Graph#getNodeOrNew(java.lang.String) */ ! public Node getNodeOrNew(String id) { ! return sourceGraph.getNodeOrNew(id); } --- 231,238 ---- /** ! * @see org.mediavirus.graphl.graph.Graph#getNodeOrAdd(java.lang.String) */ ! public Node getNodeOrAdd(String id) { ! return sourceGraph.getNodeOrAdd(id); } *************** *** 244,249 **** } ! public void addElements(Collection<Node> nodes, Collection<Edge> edges) { ! sourceGraph.addElements(nodes, edges); ! } } --- 244,265 ---- } ! public void addElements(Collection<Node> nodes, Collection<Edge> edges) { ! sourceGraph.addElements(nodes, edges); ! } ! ! public void deleteElements(Collection<Node> nodes, Collection<Edge> edges) { ! sourceGraph.deleteElements(nodes, edges); ! } ! ! public List<Edge> getEdgesWithPropertyValue(String name, String value) { ! List<Edge> result = new ArrayList<Edge>(); ! for (Iterator<Edge> edgesI = cachedEdges.iterator(); edgesI.hasNext();) { ! Edge edge = edgesI.next(); ! if (value.equals(edge.getProperty(name))) { ! result.add(edge); ! } ! ! } ! return result; ! } } |
From: Flo L. <fl...@us...> - 2006-06-08 13:15:36
|
Update of /cvsroot/graphl/graphl/web/config In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343/web/config Modified Files: config.rdf Added Files: update-config.rdf Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( Index: config.rdf =================================================================== RCS file: /cvsroot/graphl/graphl/web/config/config.rdf,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** config.rdf 17 Aug 2005 15:52:53 -0000 1.1 --- config.rdf 8 Jun 2006 13:14:59 -0000 1.2 *************** *** 1,4 **** --- 1,5 ---- <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE rdf:RDF [ + <!ENTITY foo 'http://www.mediavirus.org/foo#'> <!ENTITY graphl 'http://www.mediavirus.org/graphl#'> <!ENTITY foaf 'http://xmlns.com/foaf/0.1/'> *************** *** 11,14 **** --- 12,16 ---- <rdf:RDF xml:base="" + xmlns:foo="&foo;" xmlns:graphl="&graphl;" xmlns:foaf="&foaf;" *************** *** 25,28 **** --- 27,324 ---- graphl:default="true" rdf:nodeID="defaultConfig"> + + <graphl:vocabularies> + <graphl:Vocabulary> + <graphl:contains> + <graphl:Vocabulary + graphl:name="FOAF" + graphl:description="Friend-of-a-friend Vocabulary" + graphl:defaultNamespacePrefix="rdf" + graphl:namespace="&rdf;"> + <owl:imports rdf:resource="vocabs/foaf-owl.rdf"/> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="Contact Properties"> + <graphl:contains rdf:resource="&foaf;phone"/> + <graphl:contains rdf:resource="&foaf;mbox"/> + <graphl:contains rdf:resource="&foaf;homepage"/> + <graphl:contains rdf:resource="&foaf;workplaceHomepage"/> + <graphl:contains rdf:resource="&foaf;workInfoHomepage"/> + <graphl:contains rdf:resource="&foaf;schoolHomepage"/> + <graphl:contains rdf:resource="&foaf;weblog"/> + <graphl:contains rdf:resource="&foaf;tipjar"/> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="Experience Properties"> + <graphl:contains rdf:resource="&foaf;currentProject"/> + <graphl:contains rdf:resource="&foaf;pastProject"/> + <graphl:contains rdf:resource="&foaf;made"/> + <graphl:contains rdf:resource="&foaf;maker"/> + <graphl:contains rdf:resource="&foaf;interest"/> + <graphl:contains rdf:resource="&foaf;topic_interest"/> + <graphl:contains rdf:resource="&foaf;publications"/> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="Networking Properties"> + <graphl:contains rdf:resource="&foaf;knows"/> + <graphl:contains rdf:resource="&foaf;member"/> + <graphl:contains rdf:resource="&foaf;basedNear"/> + <graphl:contains rdf:resource="&foaf;fundedBy"/> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="Imaging Properties"> + <graphl:contains rdf:resource="&foaf;img"/> + <graphl:contains rdf:resource="&foaf;depiction"/> + <graphl:contains rdf:resource="&foaf;depicts"/> + <graphl:contains rdf:resource="&foaf;thumbnail"/> + <graphl:contains rdf:resource="&foaf;logo"/> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="Topic Properties"> + <graphl:contains rdf:resource="&foaf;topic"/> + <graphl:contains rdf:resource="&foaf;primaryTopic"/> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:ClassGroup + graphl:name="Agent Classes"> + <graphl:contains rdf:resource="&foaf;Person"/> + <graphl:contains rdf:resource="&foaf;Agent"/> + </graphl:ClassGroup> + </graphl:contains> + <graphl:contains> + <graphl:ClassGroup + graphl:name="Group Classes"> + <graphl:contains rdf:resource="&foaf;Group"/> + <graphl:contains rdf:resource="&foaf;Project"/> + <graphl:contains rdf:resource="&foaf;Organization"/> + </graphl:ClassGroup> + </graphl:contains> + <graphl:contains> + <graphl:ClassGroup + graphl:name="Document Classes"> + <graphl:contains rdf:resource="&foaf;Document"/> + <graphl:contains rdf:resource="&foaf;Image"/> + <graphl:contains rdf:resource="&foaf;PersonalProfileDocument"/> + </graphl:ClassGroup> + </graphl:contains> + </graphl:Vocabulary> + </graphl:contains> + + <graphl:contains> + <graphl:Vocabulary + graphl:name="RDF" + graphl:description="RDF Core Vocabulary" + graphl:defaultNamespacePrefix="rdf" + graphl:namespace="&rdf;"> + <owl:imports rdf:resource="vocabs/rdf+rdfs.rdf"/> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="Type Properties"> + <graphl:contains rdf:resource="&rdf;type"/> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="Value Properties"> + <graphl:contains rdf:resource="&rdf;value"/> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="List Properties"> + <graphl:contains rdf:resource="&rdf;first"/> + <graphl:contains rdf:resource="&rdf;rest"/> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="Statement Properties"> + <graphl:contains rdf:resource="&rdf;subject"/> + <graphl:contains rdf:resource="&rdf;predicate"/> + <graphl:contains rdf:resource="&rdf;object"/> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:ClassGroup + graphl:name="RDF Classes"> + <graphl:contains rdf:resource="&rdf;Statement"/> + <graphl:contains rdf:resource="&rdf;Property"/> + </graphl:ClassGroup> + </graphl:contains> + <graphl:contains> + <graphl:ClassGroup + graphl:name="Container Classes"> + <graphl:contains rdf:resource="&rdf;Bag"/> + <graphl:contains rdf:resource="&rdf;Seq"/> + <graphl:contains rdf:resource="&rdf;List"/> + </graphl:ClassGroup> + </graphl:contains> + </graphl:Vocabulary> + </graphl:contains> + <graphl:contains> + <graphl:Vocabulary + graphl:name="graphl" + graphl:description="graphl Configuration Vocabulary" + graphl:defaultNamespacePrefix="graphl" + graphl:namespace="&graphl;"> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="Configuration Properties"> + <graphl:contains> + <rdf:Property + rdf:about="&graphl;contains" + rdfs:label="contains" + rdfs:comment="A resource that belongs to this entity"/> + </graphl:contains> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:ClassGroup + graphl:name="Vocabulary Classes"> + <graphl:contains> + <rdfs:Class + rdf:about="&graphl;Vocabulary" + rdfs:label="Vocabulary" + rdfs:comment="A Vocabulary"/> + </graphl:contains> + <graphl:contains> + <rdfs:Class + rdf:about="&graphl;PropertyGroup" + rdfs:label="Property Group" + rdfs:comment="A group of related properties"/> + </graphl:contains> + <graphl:contains> + <rdfs:Class + rdf:about="&graphl;ClassGroup" + rdfs:label="Class Group" + rdfs:comment="A group of related classes"/> + </graphl:contains> + </graphl:ClassGroup> + </graphl:contains> + </graphl:Vocabulary> + </graphl:contains> + + <graphl:contains> + <graphl:Vocabulary + graphl:name="rdfs" + graphl:description="RDF Schema Vocabulary" + graphl:defaultNamespacePrefix="rdfs" + graphl:namespace="&rdfs;"> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="Annotation Properties"> + <graphl:contains> + <rdf:Property + rdf:about="&rdfs;label" + rdfs:label="Label" + rdfs:comment="A Human-readable label of some schema element"/> + </graphl:contains> + <graphl:contains> + <rdf:Property + rdf:about="&rdfs;comment" + rdfs:label="Comment" + rdfs:comment="A Comment regarding some schema element"/> + </graphl:contains> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="Linking Properties"> + <graphl:contains> + <rdf:Property + rdf:about="&rdfs;seeAlso" + rdfs:label="see also" + rdfs:comment="A document containing more information"/> + </graphl:contains> + <graphl:contains> + <rdf:Property + rdf:about="&rdfs;isDefinedBy" + rdfs:label="is defined by" + rdfs:comment="A Document defining the entity"/> + </graphl:contains> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="Inheritance Properties"> + <graphl:contains> + <rdf:Property + rdf:about="&rdfs;subClassOf" + rdfs:label="Subclass of" + rdfs:comment="The super class of this class"/> + </graphl:contains> + <graphl:contains> + <rdf:Property + rdf:about="&rdfs;subPropertyOf" + rdfs:label="Sub-property of" + rdfs:comment=""/> + </graphl:contains> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:PropertyGroup + graphl:name="Data Properties"> + <graphl:contains> + <rdf:Property + rdf:about="&rdfs;member" + rdfs:label="Member" + rdfs:comment="A Member"/> + </graphl:contains> + <graphl:contains> + <rdf:Property + rdf:about="&rdfs;domain" + rdfs:label="Domain" + rdfs:comment="The domain of the given property"/> + </graphl:contains> + <graphl:contains> + <rdf:Property + rdf:about="&rdfs;range" + rdfs:label="Range" + rdfs:comment="The range of the given property"/> + </graphl:contains> + </graphl:PropertyGroup> + </graphl:contains> + <graphl:contains> + <graphl:ClassGroup + graphl:name="RDFS Classes"> + <graphl:contains> + <rdfs:Class + rdf:about="&rdfs;Class" + rdfs:label="Class" + rdfs:comment="A Class"/> + </graphl:contains> + <graphl:contains> + <rdfs:Class + rdf:about="&rdfs;Resource" + rdfs:label="Resource" + rdfs:comment="A Resource"/> + </graphl:contains> + <graphl:contains> + <rdfs:Class + rdf:about="&rdfs;Literal" + rdfs:label="Literal" + rdfs:comment="A Literal"/> + </graphl:contains> + <graphl:contains> + <rdfs:Class + rdf:about="&rdfs;Container" + rdfs:label="Container" + rdfs:comment="A Container"/> + </graphl:contains> + </graphl:ClassGroup> + </graphl:contains> + </graphl:Vocabulary> + </graphl:contains> + </graphl:Vocabulary> + </graphl:vocabularies> <graphl:availableNodeLayouters> *************** *** 123,170 **** graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" graphl:baseColor="#f0f0f0" ! graphl:stroke="1.0"> ! <graphl:labelGenerator> ! <graphl:LabelGenerator> ! <graphl:labelFacets> ! <rdf:List> ! <rdf:first> ! <graphl:LabelFacet ! graphl:labelFacetType="Value" ! graphl:guessName="true"/> ! </rdf:first> ! <rdf:rest> ! <rdf:List> ! <rdf:first> ! <graphl:LabelFacet ! graphl:labelFacetType="String" ! graphl:labelFacetValue=" ["/> ! </rdf:first> ! <rdf:rest> ! <rdf:List> ! <rdf:first> ! <graphl:LabelFacet ! graphl:labelFacetType="Type" ! graphl:guessName="true"/> ! </rdf:first> ! <rdf:rest> ! <rdf:List> ! <rdf:first> ! <graphl:LabelFacet ! graphl:labelFacetType="String" ! graphl:labelFacetValue="]"/> ! </rdf:first> ! <rdf:rest> ! <rdf:nil/> ! </rdf:rest> ! </rdf:List> ! </rdf:rest> ! </rdf:List> ! </rdf:rest> ! </rdf:List> ! </rdf:rest> ! </rdf:List> ! </graphl:labelFacets> ! </graphl:LabelGenerator> ! </graphl:labelGenerator> </graphl:NodePainter> </graphl:defaultNodePainter> --- 419,424 ---- graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" graphl:baseColor="#f0f0f0" ! graphl:stroke="1.0" ! graphl:label="concat('[ ',graphl:name(rdf:type/to/@rdf:id),' ] ',graphl:name(@rdf:id))"> </graphl:NodePainter> </graphl:defaultNodePainter> *************** *** 176,180 **** graphl:paintLabel="true" graphl:color="#000000" ! graphl:labelColor="#000000"/> </graphl:defaultEdgePainter> --- 430,435 ---- graphl:paintLabel="true" graphl:color="#000000" ! graphl:labelColor="#000000" ! graphl:label="graphl:name(@graphl:type)"/> </graphl:defaultEdgePainter> *************** *** 188,192 **** <graphl:EdgeLayouter graphl:javaClass="org.mediavirus.graphl.layout.SpringEdgeLayouter" ! graphl:defaultLength="40.0" graphl:rigidity="1.0"/> </graphl:defaultEdgeLayouter> --- 443,447 ---- <graphl:EdgeLayouter graphl:javaClass="org.mediavirus.graphl.layout.SpringEdgeLayouter" ! graphl:length="300.0" graphl:rigidity="1.0"/> </graphl:defaultEdgeLayouter> *************** *** 200,220 **** graphl:borderColor="#000000" graphl:font="14" ! graphl:borderStroke="1.5"> ! <graphl:labelGenerator> ! <graphl:LabelGenerator> ! <graphl:labelFacets> ! <rdf:List> ! <rdf:first> ! <graphl:LabelFacet ! graphl:labelFacetType="Property" ! graphl:labelFacetValue="&foaf;name"/> ! </rdf:first> ! <rdf:rest> ! <rdf:nil/> ! </rdf:rest> ! </rdf:List> ! </graphl:labelFacets> ! </graphl:LabelGenerator> ! </graphl:labelGenerator> <graphl:assignedToType> <rdfs:Class rdf:about="&foaf;Person"/> --- 455,460 ---- graphl:borderColor="#000000" graphl:font="14" ! graphl:borderStroke="1.5" ! graphl:label="@foaf:name"> <graphl:assignedToType> <rdfs:Class rdf:about="&foaf;Person"/> *************** *** 228,248 **** graphl:borderColor="#000000" graphl:font="14" ! graphl:borderStroke="1.5 5 2"> ! <graphl:labelGenerator> ! <graphl:LabelGenerator> ! <graphl:labelFacets> ! <rdf:List> ! <rdf:first> ! <graphl:LabelFacet ! graphl:labelFacetType="Property" ! graphl:labelFacetValue="&foaf;name"/> ! </rdf:first> ! <rdf:rest> ! <rdf:nil/> ! </rdf:rest> ! </rdf:List> ! </graphl:labelFacets> ! </graphl:LabelGenerator> ! </graphl:labelGenerator> <graphl:assignedToType> <rdfs:Class rdf:about="&foaf;Group"/> --- 468,473 ---- graphl:borderColor="#000000" graphl:font="14" ! graphl:borderStroke="1.5 5 2" ! graphl:label="@foaf:name"> <graphl:assignedToType> <rdfs:Class rdf:about="&foaf;Group"/> *************** *** 254,257 **** --- 479,494 ---- <rdfs:Class rdf:about="&foaf;Project"/> </graphl:assignedToType> + <graphl:assignedToType> + <rdfs:Class rdf:about="&foo;Institution"/> + </graphl:assignedToType> + <graphl:assignedToType> + <rdfs:Class rdf:about="&foo;Network"/> + </graphl:assignedToType> + <graphl:assignedToType> + <rdfs:Class rdf:about="&foo;Company"/> + </graphl:assignedToType> + <graphl:assignedToType> + <rdfs:Class rdf:about="&foo;Exhibition"/> + </graphl:assignedToType> </graphl:NodePainter> </rdf:li> *************** *** 264,284 **** graphl:borderStroke="1.0" graphl:useBorderColor="true" ! graphl:roundRect="false"> ! <graphl:labelGenerator> ! <graphl:LabelGenerator> ! <graphl:labelFacets> ! <rdf:List> ! <rdf:first> ! <graphl:LabelFacet ! graphl:labelFacetType="Value" ! graphl:guessName="true"/> ! </rdf:first> ! <rdf:rest> ! <rdf:nil/> ! </rdf:rest> ! </rdf:List> ! </graphl:labelFacets> ! </graphl:LabelGenerator> ! </graphl:labelGenerator> <graphl:assignedToType> <rdfs:Class rdf:about="&foaf;Document"/> --- 501,507 ---- graphl:borderStroke="1.0" graphl:useBorderColor="true" ! graphl:roundRect="false" ! graphl:font="Dialog-8" ! graphl:label="graphl:name(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&foaf;Document"/> *************** *** 289,309 **** <graphl:NodePainter graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" ! graphl:baseColor="#e0e0e0"> ! <graphl:labelGenerator> ! <graphl:LabelGenerator> ! <graphl:labelFacets> ! <rdf:List> ! <rdf:first> ! <graphl:LabelFacet ! graphl:labelFacetType="Value" ! graphl:guessName="true"/> ! </rdf:first> ! <rdf:rest> ! <rdf:nil/> ! </rdf:rest> ! </rdf:List> ! </graphl:labelFacets> ! </graphl:LabelGenerator> ! </graphl:labelGenerator> <graphl:assignedToType> <rdfs:Class rdf:about="&rdfs;Class"/> --- 512,517 ---- <graphl:NodePainter graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" ! graphl:baseColor="#e0e0e0" ! graphl:label="graphl:name(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&rdfs;Class"/> *************** *** 314,334 **** <graphl:NodePainter graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" ! graphl:baseColor="#f0f0f0"> ! <graphl:labelGenerator> ! <graphl:LabelGenerator> ! <graphl:labelFacets> ! <rdf:List> ! <rdf:first> ! <graphl:LabelFacet ! graphl:labelFacetType="Value" ! graphl:guessName="true"/> ! </rdf:first> ! <rdf:rest> ! <rdf:nil/> ! </rdf:rest> ! </rdf:List> ! </graphl:labelFacets> ! </graphl:LabelGenerator> ! </graphl:labelGenerator> <graphl:assignedToType> <rdfs:Class rdf:about="&rdf;Property"/> --- 522,527 ---- <graphl:NodePainter graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" ! graphl:baseColor="#f0f0f0" ! graphl:label="graphl:name(@rdf:id)"> <graphl:assignedToType> <rdfs:Class rdf:about="&rdf;Property"/> *************** *** 338,384 **** <rdf:li> <graphl:NodePainter - graphl:javaClass="org.mediavirus.graphl.painter.BoxNodePainter" - graphl:baseColor="#f0f0f0"> - <graphl:labelGenerator> - <graphl:LabelGenerator> - <graphl:labelFacets> - <rdf:List> - <rdf:first> - <graphl:LabelFacet - graphl:labelFacetType="Property" - graphl:labelFacetValue="&graphl;labelFacetType"/> - </rdf:first> - <rdf:rest> - <rdf:List> - <rdf:first> - <graphl:LabelFacet - graphl:labelFacetType="String" - graphl:labelFacetValue=" "/> - </rdf:first> - <rdf:rest> - <rdf:List> - <rdf:first> - <graphl:LabelFacet - graphl:labelFacetType="Property" - graphl:labelFacetValue="&graphl;labelFacetValue"/> - </rdf:first> - <rdf:rest> - <rdf:nil/> - </rdf:rest> - </rdf:List> - </rdf:rest> - </rdf:List> - </rdf:rest> - </rdf:List> - </graphl:labelFacets> - </graphl:LabelGenerator> - </graphl:labelGenerator> - <graphl:assignedToType> - <rdfs:Class rdf:about="&graphl;LabelFacet"/> - </graphl:assignedToType> - </graphl:NodePainter> - </rdf:li> - <rdf:li> - <graphl:NodePainter graphl:javaClass="org.mediavirus.graphl.painter.ImageNodePainter" graphl:method="property" --- 531,534 ---- *************** *** 427,441 **** <rdf:li> <graphl:NodeLayouter - graphl:javaClass="org.mediavirus.graphl.layout.UnconstrainedNodeLayouter"> - <graphl:assignedToType> - <rdfs:Class rdf:about="&rdf;nil"/> - </graphl:assignedToType> - <graphl:assignedToType> - <rdfs:Class rdf:about="&graphl;LabelFacet"/> - </graphl:assignedToType> - </graphl:NodeLayouter> - </rdf:li> - <rdf:li> - <graphl:NodeLayouter graphl:javaClass="org.mediavirus.graphl.layout.AbsoluteNodeLayouter" graphl:method="property" --- 577,580 ---- *************** *** 505,509 **** <graphl:EdgePainter graphl:javaClass="org.mediavirus.graphl.painter.StraightLineEdgePainter" ! graphl:paintArrow="true" graphl:paintLabel="false" graphl:stroke="1.5 5 5"> --- 644,648 ---- <graphl:EdgePainter graphl:javaClass="org.mediavirus.graphl.painter.StraightLineEdgePainter" ! graphl:paintArrow="false" graphl:paintLabel="false" graphl:stroke="1.5 5 5"> *************** *** 582,586 **** graphl:javaClass="org.mediavirus.graphl.layout.DirectedEdgeLayouter" graphl:direction="down" ! graphl:length="40.0"> <graphl:assignedToType> <rdf:Property rdf:about="&rdf;first"/> --- 721,725 ---- graphl:javaClass="org.mediavirus.graphl.layout.DirectedEdgeLayouter" graphl:direction="down" ! graphl:length="100.0"> <graphl:assignedToType> <rdf:Property rdf:about="&rdf;first"/> --- NEW FILE: update-config.rdf --- <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE rdf:RDF [ <!ENTITY update 'http://www.mediavirus.org/update#'> <!ENTITY graphl 'http://www.mediavirus.org/graphl#'> <!ENTITY foo 'http://www.mediavirus.org/foo#'> <!ENTITY foaf 'http://xmlns.com/foaf/0.1/'> <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'> <!ENTITY owl 'http://www.w3.org/2002/07/owl#'> <!ENTITY map 'http://fabl.net/vocabularies/geography/map/1.1/'> <!ENTITY geo 'http://www.w3.org/2003/01/geo/wgs84_pos#'> ]> <rdf:RDF xml:base="" xmlns:update="&update;" xmlns:foo="&foo;" xmlns:graphl="&graphl;" xmlns:foaf="&foaf;" xmlns:rdf="&rdf;" [...1632 lines suppressed...] <rdf:Property rdf:about="&rdf;rest"/> </graphl:assignedToType> </graphl:EdgeLayouter> </rdf:li> <rdf:li> <graphl:EdgeLayouter graphl:javaClass="org.mediavirus.graphl.layout.DirectedEdgeLayouter" graphl:direction="down" graphl:length="40.0"> <graphl:assignedToType> <rdf:Property rdf:about="&rdf;first"/> </graphl:assignedToType> </graphl:EdgeLayouter> </rdf:li> </rdf:Bag> </graphl:assignedEdgeLayouters> </graphl:Configuration> </rdf:RDF> |
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/painter In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343/src/org/mediavirus/graphl/painter Modified Files: ImageNodePainter.java BoxNodePainter.java ShapeNodePainter.java InvisibleNodePainter.java LineEdgePainter.java ReificationNodePainter.java NodePainter.java Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( Index: LineEdgePainter.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/painter/LineEdgePainter.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** LineEdgePainter.java 18 Dec 2005 11:11:40 -0000 1.10 --- LineEdgePainter.java 8 Jun 2006 13:14:58 -0000 1.11 *************** *** 14,22 **** import java.util.HashMap; - import org.apache.commons.jxpath.ClassFunctions; import org.apache.commons.jxpath.JXPathContext; import org.mediavirus.graphl.GraphlPane; import org.mediavirus.graphl.graph.Edge; import org.mediavirus.graphl.graph.Node; import org.mediavirus.graphl.vocabulary.NS; import org.mediavirus.util.ParseUtils; --- 14,22 ---- import java.util.HashMap; import org.apache.commons.jxpath.JXPathContext; import org.mediavirus.graphl.GraphlPane; import org.mediavirus.graphl.graph.Edge; import org.mediavirus.graphl.graph.Node; + import org.mediavirus.graphl.jxpath.JXPathFactory; import org.mediavirus.graphl.vocabulary.NS; import org.mediavirus.util.ParseUtils; *************** *** 77,82 **** Stroke dynStroke = strokeCache.get(edge); if (dynStroke == null) { ! JXPathContext context = JXPathContext.newContext(edge); ! context.setLenient(true); Object widthO = context.getValue(widthExpr); try { --- 77,81 ---- Stroke dynStroke = strokeCache.get(edge); if (dynStroke == null) { ! JXPathContext context = JXPathFactory.createContext(edge); Object widthO = context.getValue(widthExpr); try { *************** *** 254,263 **** if (label == null) { if (labelExpr != null) { ! JXPathContext context = JXPathContext.newContext(edge); ! context.setFunctions(new ClassFunctions(ParseUtils.class, "graphl")); ! context.setLenient(true); Object labelO = context.getValue(labelExpr); ! if (labelO instanceof String) { ! label = (String) labelO; } } --- 253,264 ---- if (label == null) { if (labelExpr != null) { ! JXPathContext context = JXPathFactory.createContext(edge); Object labelO = context.getValue(labelExpr); ! if (labelO != null) { ! label = labelO.toString(); ! labelCache.put(edge, label); ! } ! else { ! labelCache.put(edge,""); } } *************** *** 320,322 **** --- 321,329 ---- this.widthExpr = widthExpr; } + + public void refresh() { + strokeCache.clear(); + labelCache.clear(); + } + } Index: ReificationNodePainter.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/painter/ReificationNodePainter.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ReificationNodePainter.java 4 Oct 2004 10:21:03 -0000 1.3 --- ReificationNodePainter.java 8 Jun 2006 13:14:58 -0000 1.4 *************** *** 81,83 **** --- 81,87 ---- } + public String getLabel(Node node) { + return null; + } + } Index: ImageNodePainter.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/painter/ImageNodePainter.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ImageNodePainter.java 18 Dec 2005 11:11:40 -0000 1.8 --- ImageNodePainter.java 8 Jun 2006 13:14:57 -0000 1.9 *************** *** 59,63 **** URL baseURL = null; try { ! baseURL = new URL(node.getFirstNeighbour(NS.graphl + "loadedFrom", true).getId()); } catch (Exception ex) { --- 59,63 ---- URL baseURL = null; try { ! baseURL = new URL(node.getFirstNeighbour(NS.graphl + "loadedFrom", Node.FORWARD).getId()); } catch (Exception ex) { *************** *** 95,99 **** String href = node.getProperty(property); if (href == null) { ! Node propertyNode = node.getFirstNeighbour(property, true); if (propertyNode != null) href = propertyNode.getId(); } --- 95,99 ---- String href = node.getProperty(property); if (href == null) { ! Node propertyNode = node.getFirstNeighbour(property, Node.FORWARD); if (propertyNode != null) href = propertyNode.getId(); } *************** *** 150,154 **** URL baseURL = null; try { ! baseURL = new URL(node.getFirstNeighbour(NS.graphl + "loadedFrom", true).getId()); } catch (Exception ex) { --- 150,154 ---- URL baseURL = null; try { ! baseURL = new URL(node.getFirstNeighbour(NS.graphl + "loadedFrom", Node.FORWARD).getId()); } catch (Exception ex) { *************** *** 358,361 **** --- 358,365 ---- } + + public String getLabel(Node node) { + return null; + } } Index: InvisibleNodePainter.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/painter/InvisibleNodePainter.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** InvisibleNodePainter.java 21 Oct 2004 16:00:46 -0000 1.4 --- InvisibleNodePainter.java 8 Jun 2006 13:14:58 -0000 1.5 *************** *** 98,100 **** --- 98,105 ---- } + + public String getLabel(Node node) { + return null; + } + } Index: NodePainter.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/painter/NodePainter.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** NodePainter.java 21 Oct 2004 16:00:46 -0000 1.4 --- NodePainter.java 8 Jun 2006 13:14:58 -0000 1.5 *************** *** 53,56 **** public Point getEdgePin(Node node, Edge edge); ! } --- 53,56 ---- public Point getEdgePin(Node node, Edge edge); ! public String getLabel(Node node); } Index: ShapeNodePainter.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/painter/ShapeNodePainter.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ShapeNodePainter.java 18 Dec 2005 11:11:40 -0000 1.7 --- ShapeNodePainter.java 8 Jun 2006 13:14:58 -0000 1.8 *************** *** 225,227 **** --- 225,231 ---- } + + public String getLabel(Node node) { + return null; + } } Index: BoxNodePainter.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/painter/BoxNodePainter.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** BoxNodePainter.java 18 Dec 2005 11:11:40 -0000 1.11 --- BoxNodePainter.java 8 Jun 2006 13:14:57 -0000 1.12 *************** *** 16,24 **** import java.util.Map; - import org.apache.commons.jxpath.ClassFunctions; import org.apache.commons.jxpath.JXPathContext; import org.mediavirus.graphl.GraphlPane; import org.mediavirus.graphl.graph.Edge; import org.mediavirus.graphl.graph.Node; import org.mediavirus.graphl.vocabulary.NS; import org.mediavirus.util.ParseUtils; --- 16,24 ---- import java.util.Map; import org.apache.commons.jxpath.JXPathContext; import org.mediavirus.graphl.GraphlPane; import org.mediavirus.graphl.graph.Edge; import org.mediavirus.graphl.graph.Node; + import org.mediavirus.graphl.jxpath.JXPathFactory; import org.mediavirus.graphl.vocabulary.NS; import org.mediavirus.util.ParseUtils; *************** *** 293,303 **** } ! private String getLabel(Node node) { String label = labelCache.get(node); if (label == null) { if (labelExpr != null) { ! JXPathContext context = JXPathContext.newContext(node); ! context.setFunctions(new ClassFunctions(ParseUtils.class, "graphl")); ! context.setLenient(true); Object labelO = context.getValue(labelExpr); if (labelO instanceof String) { --- 293,302 ---- } ! public String getLabel(Node node) { String label = labelCache.get(node); if (label == null) { + label = "XXX"; if (labelExpr != null) { ! JXPathContext context = JXPathFactory.createContext(node); Object labelO = context.getValue(labelExpr); if (labelO instanceof String) { *************** *** 305,308 **** --- 304,308 ---- } } + labelCache.put(node, label); } return label; |
From: Flo L. <fl...@us...> - 2006-06-08 13:15:32
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343/src/org/mediavirus/graphl Modified Files: GraphlApplication.java GraphlRegistry.java GraphlPane.java GraphlApplet.java GraphlPanel.java Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( Index: GraphlPanel.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/GraphlPanel.java,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** GraphlPanel.java 18 Dec 2005 11:11:40 -0000 1.25 --- GraphlPanel.java 8 Jun 2006 13:14:58 -0000 1.26 *************** *** 10,15 **** import java.awt.event.ActionEvent; import java.awt.event.ActionListener; - import java.awt.event.KeyEvent; - import java.awt.event.KeyListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; --- 10,13 ---- *************** *** 17,36 **** import java.awt.event.MouseWheelListener; import java.util.Collection; ! import java.util.Collections; ! import java.util.Iterator; ! import java.util.Vector; ! import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; ! import org.mediavirus.graphl.graph.*; import org.mediavirus.graphl.graph.filter.FilteredGraph; import org.mediavirus.graphl.graph.rdf.RDFGraph; import org.mediavirus.graphl.interaction.DefaultNodeManipulator; import org.mediavirus.graphl.interaction.GraphlManipulator; - import org.mediavirus.graphl.selection.SelectionListener; - import org.mediavirus.graphl.selection.SelectionModel; - - import javax.swing.JPanel; /** --- 15,34 ---- import java.awt.event.MouseWheelListener; import java.util.Collection; ! ! import javax.swing.JCheckBox; ! import javax.swing.JLabel; ! import javax.swing.JPanel; ! import javax.swing.JSlider; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; ! import org.mediavirus.graphl.graph.Edge; ! import org.mediavirus.graphl.graph.Graph; ! import org.mediavirus.graphl.graph.GraphListener; ! import org.mediavirus.graphl.graph.Node; import org.mediavirus.graphl.graph.filter.FilteredGraph; import org.mediavirus.graphl.graph.rdf.RDFGraph; import org.mediavirus.graphl.interaction.DefaultNodeManipulator; import org.mediavirus.graphl.interaction.GraphlManipulator; /** *************** *** 38,42 **** * */ ! public class GraphlPanel extends JPanel implements GraphListener, KeyListener, SelectionListener { private static final int WHEEL_ZOOM_FACTOR = 3; --- 36,40 ---- * */ ! public class GraphlPanel extends JPanel implements GraphListener { private static final int WHEEL_ZOOM_FACTOR = 3; *************** *** 71,75 **** graphPane.addManipulator(new DefaultNodeManipulator()); graphPane.getFilteredGraph().addGraphListener(this); - graphPane.addKeyListener(this); graphPane.addMouseWheelListener(new MouseWheelListener () { public void mouseWheelMoved(MouseWheelEvent e) { --- 69,72 ---- *************** *** 268,322 **** } - /** - * @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent) - */ - public void keyPressed(KeyEvent e) { - } - - /** - * @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent) - */ - public void keyReleased(KeyEvent e) { - if (e.getKeyCode() == KeyEvent.VK_BACK_SPACE || e.getKeyCode() == KeyEvent.VK_DELETE) { - - Iterator<Node> nodes = graphPane.getSelection().getSelectedNodes().iterator(); - while (nodes.hasNext()) { - Node node = nodes.next(); - Vector<Edge> edges = new Vector<Edge>(); - edges.addAll(node.getEdgesFrom()); - edges.addAll(node.getEdgesTo()); - ((DefaultGraph)graphPane.getSourceGraph()).deleteElements(Collections.singleton(node),edges); - } - - ((DefaultGraph)graphPane.getSourceGraph()).deleteElements(null,graphPane.getSelection().getSelectedEdges()); - } - - } - - public void keyTyped(KeyEvent e) { - - } - - public void nodesAddedToSelection(SelectionModel nodeSelectionModel, Collection<Node> nodes) { - } - - public void nodesRemovedFromSelection(SelectionModel nodeSelectionModel, Collection<Node> nodes) { - } - - public void selectionCleared(SelectionModel nodeSelectionModel) { - } - - /** - * @see org.mediavirus.graphl.selection.SelectionListener#edgesAddedToSelection(org.mediavirus.graphl.selection.SelectionModel, java.util.Collection) - */ - public void edgesAddedToSelection(SelectionModel nodeSelectionModel, Collection<Edge> edges) { - } - - /** - * @see org.mediavirus.graphl.selection.SelectionListener#edgesRemovedFromSelection(org.mediavirus.graphl.selection.SelectionModel, java.util.Collection) - */ - public void edgesRemovedFromSelection(SelectionModel nodeSelectionModel, Collection<Edge> edges) { - } - private JPanel getSpacerPanel() { if (spacerPanel == null) { --- 265,268 ---- Index: GraphlRegistry.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/GraphlRegistry.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** GraphlRegistry.java 18 Dec 2005 11:11:40 -0000 1.1 --- GraphlRegistry.java 8 Jun 2006 13:14:58 -0000 1.2 *************** *** 13,16 **** --- 13,18 ---- public class GraphlRegistry extends HashMap<String, Object>{ + public static final boolean DEBUG = false; + protected static GraphlRegistry instance; Index: GraphlApplet.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/GraphlApplet.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** GraphlApplet.java 18 Dec 2005 11:11:40 -0000 1.13 --- GraphlApplet.java 8 Jun 2006 13:14:58 -0000 1.14 *************** *** 6,9 **** --- 6,10 ---- import java.awt.BorderLayout; + import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; *************** *** 18,27 **** --- 19,34 ---- import java.util.Iterator; + import javax.swing.ButtonGroup; import javax.swing.JApplet; import javax.swing.JButton; import javax.swing.JPanel; + import javax.swing.JRadioButtonMenuItem; + import org.apache.commons.jxpath.ri.JXPathContextReferenceImpl; + import org.mediavirus.graphl.graph.Graph; import org.mediavirus.graphl.graph.Node; + import org.mediavirus.graphl.graph.filter.SourceFilter; import org.mediavirus.graphl.graph.rdf.RDFGraph; + import org.mediavirus.graphl.jxpath.JXPathFactory; import org.mediavirus.graphl.vocabulary.NS; *************** *** 37,47 **** private JButton saveButton; private JPanel bottomPanel; ! ! private RDFGraph settingsGraph = new RDFGraph(); ! /** A List with all configuration nodes in the settings graph */ ! //private List configurations = new ArrayList(); ! public GraphlApplet() { this.getContentPane().setLayout(new BorderLayout()); this.getContentPane().add(getMainPanel(),BorderLayout.CENTER); --- 44,54 ---- private JButton saveButton; private JPanel bottomPanel; ! ! Font menuFont = new Font(null, Font.PLAIN, 12); ! public GraphlApplet() { + JXPathContextReferenceImpl.addNodePointerFactory(new JXPathFactory()); + this.getContentPane().setLayout(new BorderLayout()); this.getContentPane().add(getMainPanel(),BorderLayout.CENTER); *************** *** 84,88 **** protected JPanel getMainPanel() { if (mainPanel == null) { ! mainPanel = new GraphlPanel(); } --- 91,103 ---- protected JPanel getMainPanel() { if (mainPanel == null) { ! ! Graph graph = new RDFGraph(); ! ! SourceFilter filter = new SourceFilter(); ! // TODO (2) we should model datasources as a class for UI access etc. ! filter.addSource(NS.graphl + "SYSTEM"); ! ! mainPanel = new GraphlPanel(graph); ! mainPanel.graphPane.getFilteredGraph().addFilter(filter); } *************** *** 97,104 **** String str = getParameter("toolbar"); ! if (str.equalsIgnoreCase("off") || str.equalsIgnoreCase("false")) { mainPanel.setToolbarVisible(false); } String savestr = getParameter("saveurl"); if (savestr != null) { --- 112,125 ---- String str = getParameter("toolbar"); ! if (str != null && (str.equalsIgnoreCase("off") || str.equalsIgnoreCase("false"))) { mainPanel.setToolbarVisible(false); } + int refresh = -1; + str = getParameter("refresh"); + if (str != null) { + refresh = Integer.parseInt(getParameter("refresh")); + } + String savestr = getParameter("saveurl"); if (savestr != null) { *************** *** 124,145 **** try { URL settingsurl = new URL(getDocumentBase(), urlstr); ! settingsGraph.clear(); ! ((RDFGraph)mainPanel.getGraph()).readFromURL(settingsurl); ! ! Node defaultSettings = null; ! int i = 0; ! for (Iterator settings = mainPanel.graphPane.getConfigurations().iterator(); settings.hasNext();) { ! Node node = (Node) settings.next(); ! if ((i == 0) || node.getProperty(NS.graphl + "default","").equalsIgnoreCase("true")) { ! defaultSettings = node; } ! i++; } - - if (defaultSettings != null) { - mainPanel.graphPane.setConfiguration(defaultSettings); - } } catch (IOException ex) { --- 145,187 ---- try { URL settingsurl = new URL(getDocumentBase(), urlstr); ! RDFGraph settingsGraph = (RDFGraph)mainPanel.graphPane.getSourceGraph(); ! Iterator<URL> urls = settingsGraph.readFromURL(settingsurl).iterator(); ! if (urls.hasNext()) { ! SourceFilter filter = new SourceFilter(); ! while (urls.hasNext()) { ! URL url = urls.next(); ! System.out.println(" filtering: " + url); ! filter.addSource(url.toString()); } ! mainPanel.graphPane.getFilteredGraph().addFilter(filter); } + JRadioButtonMenuItem defaultItem = null; + Node defaultSettings = null; + ButtonGroup settingsGroup = new ButtonGroup(); + + int i = 0; + for (Iterator settings = mainPanel.graphPane.getConfigurations().iterator(); settings.hasNext();) { + Node node = (Node) settings.next(); + if (! node.getProperty(NS.graphl + "public","true").equalsIgnoreCase("false")){ + JRadioButtonMenuItem item = new JRadioButtonMenuItem(node.getProperty(NS.graphl + "name","<unnamed>")); + //item.addActionListener(new SettingsAdapter(node)); + item.setFont(menuFont); + // TODO implement this + //configConfigurationMenu.add(item); + settingsGroup.add(item); + if ((i == 0) || node.getProperty(NS.graphl + "default","").equalsIgnoreCase("true")) { + defaultItem = item; + defaultSettings = node; + } + i++; + } + } + + if (defaultItem != null) { + mainPanel.graphPane.setConfiguration(defaultSettings); + defaultItem.setSelected(true); + } } catch (IOException ex) { *************** *** 160,164 **** try { URL rdfurl = new URL(getDocumentBase(), urlstr); ! ((RDFGraph)mainPanel.getGraph()).readFromURL(rdfurl); } catch (IOException e) { --- 202,209 ---- try { URL rdfurl = new URL(getDocumentBase(), urlstr); ! mainPanel.getGraphPane().loadURL(rdfurl); ! if (refresh > 0) { ! mainPanel.getGraphPane().scheduleRefresh(rdfurl, refresh); ! } } catch (IOException e) { Index: GraphlApplication.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/GraphlApplication.java,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** GraphlApplication.java 18 Dec 2005 11:11:40 -0000 1.23 --- GraphlApplication.java 8 Jun 2006 13:14:58 -0000 1.24 *************** *** 40,51 **** import org.mediavirus.graphl.gui.GenericDialog; import org.mediavirus.graphl.gui.OpenURLPanel; ! import org.mediavirus.graphl.jxpath.GraphPointerFactory; import org.mediavirus.graphl.painter.NodePainter; - import org.mediavirus.graphl.vocabulary.DC; - import org.mediavirus.graphl.vocabulary.FOAF; - import org.mediavirus.graphl.vocabulary.Graphl; import org.mediavirus.graphl.vocabulary.NS; - import org.mediavirus.graphl.vocabulary.RDF; - import org.mediavirus.graphl.vocabulary.RDFS; --- 40,46 ---- import org.mediavirus.graphl.gui.GenericDialog; import org.mediavirus.graphl.gui.OpenURLPanel; ! import org.mediavirus.graphl.jxpath.JXPathFactory; import org.mediavirus.graphl.painter.NodePainter; import org.mediavirus.graphl.vocabulary.NS; *************** *** 76,88 **** Font menuFont = new Font(null, Font.PLAIN, 12); - - private File currentFile; - private URL currentURL; - - private int sleeptime; - - private boolean doReload; - /** * Constructs a new instance of GraphlApplication. All the GUI is set up here. --- 71,75 ---- *************** *** 105,110 **** SourceFilter filter = new SourceFilter(); // TODO (2) we should model datasources as a class for UI access etc. - //filter.addSource("file:/C:/data/projects/graphl/config/vocabs/foaf-owl.rdf"); - //filter.addSource("file:/C:/data/projects/graphl/config/vocabs/rdf+rdfs.rdf"); filter.addSource(NS.graphl + "SYSTEM"); --- 92,95 ---- *************** *** 190,204 **** menuBar.add(configMenu); ! this.getContentPane().add(menuBar, BorderLayout.NORTH); ! ! // TODO (Future) the whole vocab. registration should be defined in RDF files ! GraphlRegistry.instance().getVocabularyRegistry().registerVocabulary(Graphl.getVocabulary()); ! GraphlRegistry.instance().getVocabularyRegistry().registerVocabulary(RDF.getVocabulary()); ! GraphlRegistry.instance().getVocabularyRegistry().registerVocabulary(RDFS.getVocabulary()); ! GraphlRegistry.instance().getVocabularyRegistry().registerVocabulary(DC.getVocabulary()); ! GraphlRegistry.instance().getVocabularyRegistry().registerVocabulary(FOAF.getVocabulary()); ! ! GraphlRegistry.instance().getVocabularyRegistry().registerNamespace("ff", "http://www.funkfeuer.at/vocab#"); ! } --- 175,179 ---- menuBar.add(configMenu); ! this.getContentPane().add(menuBar, BorderLayout.NORTH); } *************** *** 232,254 **** if (p.getURLString() != null) { try { ! currentURL = new URL(p.getURLString()); ! if (p.getDoReload()) { ! doReload = true; ! sleeptime = p.getReloadDuration() * 1000; ! Thread t = new Thread() { ! public void run() { ! while (doReload) { ! try { ! sleep(sleeptime); ! reload(); ! } ! catch (InterruptedException e) { ! } ! } ! } ! }; ! t.start(); ! } ! loadURL(currentURL); } catch (IOException e) { --- 207,215 ---- if (p.getURLString() != null) { try { ! URL url = new URL(p.getURLString()); ! mainPanel.getGraphPane().loadURL(url); ! if (p.getDoReload()) { ! mainPanel.getGraphPane().scheduleRefresh(url, p.getReloadDuration()); ! } } catch (IOException e) { *************** *** 280,286 **** mainPanel.getGraphPane().pauseLayouter(); mainPanel.getGraph().clear(); ! mainPanel.getGraph().resetDirty(); - currentFile = null; setTitle("Graphl - untitled"); --- 241,246 ---- mainPanel.getGraphPane().pauseLayouter(); mainPanel.getGraph().clear(); ! mainPanel.getGraph().setDirty(false); setTitle("Graphl - untitled"); *************** *** 301,310 **** } }); ! if (currentFile == null){ ! chooser.setCurrentDirectory(new File(System.getProperty("user.dir") + "/graphs")); ! } ! else { ! chooser.setCurrentDirectory(currentFile.getParentFile()); ! } int option = chooser.showSaveDialog(this); --- 261,270 ---- } }); ! //if (currentFile == null){ ! chooser.setCurrentDirectory(new File(System.getProperty("user.dir") + "/graphs")); ! //} ! //else { ! // chooser.setCurrentDirectory(currentFile.getParentFile()); ! //} int option = chooser.showSaveDialog(this); *************** *** 312,317 **** if (option == JFileChooser.APPROVE_OPTION) { if (chooser.getSelectedFile() != null){ ! currentFile = chooser.getSelectedFile(); ! boolean result = doSave(currentFile); if (result) setTitle("Graphl - " + chooser.getSelectedFile().getName()); return result; --- 272,277 ---- if (option == JFileChooser.APPROVE_OPTION) { if (chooser.getSelectedFile() != null){ ! File f = chooser.getSelectedFile(); ! boolean result = doSave(f); if (result) setTitle("Graphl - " + chooser.getSelectedFile().getName()); return result; *************** *** 326,335 **** */ public boolean doSave() { ! if (currentFile == null) { return doSaveAs(); ! } ! else { ! return doSave(currentFile); ! } } --- 286,295 ---- */ public boolean doSave() { ! //if (currentFile == null) { return doSaveAs(); ! //} ! //else { ! // return doSave(currentFile); ! //} } *************** *** 353,358 **** fgraph.addFilter(filter); ! RDFGraph.writeToRDF(fgraph, new FileOutputStream(currentFile), urlstr); ! mainPanel.getGraph().resetDirty(); } catch (IOException ioex) { --- 313,318 ---- fgraph.addFilter(filter); ! RDFGraph.writeToRDF(fgraph, new FileOutputStream(file), urlstr); ! mainPanel.getGraph().setDirty(false); } catch (IOException ioex) { *************** *** 379,388 **** } }); ! if (currentFile == null){ chooser.setCurrentDirectory(new File(System.getProperty("user.dir") + "/graphs")); ! } ! else { ! chooser.setCurrentDirectory(currentFile.getParentFile()); ! } int option = chooser.showOpenDialog(this); --- 339,348 ---- } }); ! //if (currentFile == null){ chooser.setCurrentDirectory(new File(System.getProperty("user.dir") + "/graphs")); ! //} ! //else { ! // chooser.setCurrentDirectory(currentFile.getParentFile()); ! //} int option = chooser.showOpenDialog(this); *************** *** 424,480 **** * @throws IOException If an error during reading occurs. */ ! public void loadFile(File file) throws IOException { ! try { ! if (file != null){ ! ! mainPanel.getGraphPane().pauseLayouter(); ! //mainPanel.getGraph().clear(); ! ! mainPanel.getGraph().readFromFile(file); ! //setTitle("Graphl - " + file.getName()); ! currentFile = file; ! } ! } ! finally { ! mainPanel.getGraphPane().resumeLayouter(); ! } ! ! } ! ! /** ! * Loads the graph from the specified URL. ! * @param url The URL of the RDF file to load. ! */ ! public void loadURL(URL url) throws IOException{ ! if (url != null) { ! mainPanel.getGraphPane().pauseLayouter(); ! mainPanel.getGraph().clear(); ! mainPanel.getGraph().readFromURL(url); ! setTitle("Graphl - " + url.getFile()); ! currentURL = url; ! mainPanel.getGraphPane().resumeLayouter(); ! } ! } ! ! /** ! * Reloads the current graph from its source. ! * ! */ ! public void reload() { ! if (currentURL != null) { ! try { ! mainPanel.getGraph().readFromURL(currentURL); ! } ! catch (IOException e) { ! System.err.println("Error reloading URL: " + e.getMessage()); ! } } ! else if (currentFile != null){ ! try { ! mainPanel.getGraph().readFromFile(currentFile); ! } ! catch (IOException ioex) { ! System.err.println("Error reloading file: " + ioex.getMessage()); ! } } } --- 384,395 ---- * @throws IOException If an error during reading occurs. */ ! public URL loadFile(File file) throws IOException { ! try { ! URL url = new URL("file:///" + file.getAbsolutePath()); ! mainPanel.getGraphPane().loadURL(url); ! return url; } ! catch (MalformedURLException e) { ! throw new IOException("Cannot construct URL from filename " + file.getAbsolutePath()); } } *************** *** 513,517 **** RDFGraph settingsGraph = (RDFGraph)mainPanel.graphPane.getSourceGraph(); ! Iterator<URL> urls = settingsGraph.readFromFile(new File(filename)); if (urls.hasNext()) { --- 428,432 ---- RDFGraph settingsGraph = (RDFGraph)mainPanel.graphPane.getSourceGraph(); ! Iterator<URL> urls = settingsGraph.readFromFile(new File(filename)).iterator(); if (urls.hasNext()) { *************** *** 572,576 **** System.setProperty("swing.metalTheme", "steel"); ! JXPathContextReferenceImpl.addNodePointerFactory(new GraphPointerFactory()); GraphlApplication app = new GraphlApplication(); --- 487,491 ---- System.setProperty("swing.metalTheme", "steel"); ! JXPathContextReferenceImpl.addNodePointerFactory(new JXPathFactory()); GraphlApplication app = new GraphlApplication(); *************** *** 631,643 **** app.loadSettings(configfile); if (filename != null) { try { ! URL url = new URL(filename); app.loadURL(url); } catch (MalformedURLException muex) { ! app.loadFile(new File(filename)); } if (refresh > 0) { ! app.scheduleRefresh(refresh * 1000); } --- 546,559 ---- app.loadSettings(configfile); if (filename != null) { + URL url; try { ! url = new URL(filename); app.loadURL(url); } catch (MalformedURLException muex) { ! url = app.loadFile(new File(filename)); } if (refresh > 0) { ! app.scheduleRefresh(url, refresh); } *************** *** 650,653 **** --- 566,573 ---- } + private void loadURL(URL url) throws IOException{ + mainPanel.getGraphPane().loadURL(url); + } + /** * *************** *** 761,780 **** * @param duration The duration in seconds between two reloads. */ ! private void scheduleRefresh(int duration) { ! doReload = true; ! sleeptime = duration; ! Thread t = new Thread() { ! public void run() { ! while (doReload) { ! try { ! sleep(sleeptime); ! reload(); ! } ! catch (InterruptedException e) { ! } ! } ! } ! }; ! t.start(); } --- 681,686 ---- * @param duration The duration in seconds between two reloads. */ ! private void scheduleRefresh(URL url, int duration) { ! mainPanel.getGraphPane().scheduleRefresh(url, duration); } Index: GraphlPane.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/GraphlPane.java,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** GraphlPane.java 18 Dec 2005 11:11:40 -0000 1.23 --- GraphlPane.java 8 Jun 2006 13:14:58 -0000 1.24 *************** *** 15,22 **** --- 15,25 ---- import java.awt.event.FocusEvent; import java.awt.event.KeyEvent; + import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.geom.AffineTransform; import java.awt.geom.NoninvertibleTransformException; import java.awt.geom.Point2D; + import java.io.IOException; + import java.net.URL; import java.util.ArrayList; import java.util.Collection; *************** *** 44,47 **** --- 47,51 ---- import org.mediavirus.graphl.painter.NodePainter; import org.mediavirus.graphl.selection.DefaultSelectionModel; + import org.mediavirus.graphl.selection.SelectionListener; import org.mediavirus.graphl.selection.SelectionModel; import org.mediavirus.graphl.view.FacetRegistry; *************** *** 54,58 **** * @author Flo Ledermann <led...@im...> */ ! public class GraphlPane extends JPanel implements GraphListener { private Set<String> registeredEdgeTypes = new HashSet<String>(); --- 58,62 ---- * @author Flo Ledermann <led...@im...> */ ! public class GraphlPane extends JPanel implements GraphListener, KeyListener, SelectionListener { private Set<String> registeredEdgeTypes = new HashSet<String>(); *************** *** 105,108 **** --- 109,113 ---- updateTransform(); + addKeyListener(this); layouter = new Layouter(new GraphlLayoutStrategy(getFilteredGraph(), getFacetRegistry())); *************** *** 400,403 **** --- 405,409 ---- } selection = new DefaultSelectionModel(filteredGraph); + selection.addSelectionListener(this); /*Graph oldGraph = filteredGraph.getSource(); if (oldGraph != null) { *************** *** 802,806 **** currentConfiguration = configuration; setFacetRegistry(new GraphFacetRegistry(getSourceGraph(),configuration)); ! setVocabularies(configuration.getFirstNeighbour(NS.graphl + "vocabularies",true)); configuration.setProperty(NS.graphl + "active","true"); setComment(configuration.getProperty(NS.graphl + "comment")); --- 808,812 ---- currentConfiguration = configuration; setFacetRegistry(new GraphFacetRegistry(getSourceGraph(),configuration)); ! setVocabularies(configuration.getFirstNeighbour(NS.graphl + "vocabularies", Node.FORWARD)); configuration.setProperty(NS.graphl + "active","true"); setComment(configuration.getProperty(NS.graphl + "comment")); *************** *** 825,828 **** --- 831,989 ---- return centerXF; } + + class ReloadThread extends Thread { + URL url; + GraphlPane graphlPane; + int sleeptime; + + ReloadThread(GraphlPane graphlPane, URL url, int durationInSeconds) { + this.url = url; + this.graphlPane = graphlPane; + this.sleeptime = durationInSeconds; + } + + public void run() { + while (true) { + try { + sleep(sleeptime * 1000); + try { + graphlPane.loadURL(url); + } + catch (IOException e) { + System.err.println("Error reloading URL: " + e.getMessage()); + } + } + catch (InterruptedException e) { + } + } + } + } + + /** + * Loads the graph from the specified URL. + * @param url The URL of the RDF file to load. + */ + public void loadURL(URL url) throws IOException{ + if (url != null) { + pauseLayouter(); + ((RDFGraph)getSourceGraph()).readFromURL(url); + resumeLayouter(); + } + } + + /** + * Starts a Thread to reload the graph every <em>duration</em> seconds. + * + * @param durationInSeconds The duration in seconds between two reloads. + */ + public void scheduleRefresh(URL url, int durationInSeconds) { + ReloadThread t = new ReloadThread(this, url, durationInSeconds); + t.start(); + } + + /** + * @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent) + */ + public void keyPressed(KeyEvent e) { + } + + /** + * @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent) + */ + public void keyReleased(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_DELETE) { + pauseLayouter(); + getSourceGraph().deleteElements(getSelection().getSelectedNodes(),getSelection().getSelectedEdges()); + getSelection().clear(); + resumeLayouter(); + } + else if (e.getKeyCode() == KeyEvent.VK_BACK_SPACE) { + if (findInput.length() > 0) { + findInput = findInput.substring(0,findInput.length()-1); + if (findInput.length() > 0) { + processFindInput(); + } + else { + getSelection().clear(); + } + } + } + } + + String findInput = ""; + Thread findInputClearer; + + public void keyTyped(KeyEvent e) { + if (!Character.isISOControl(e.getKeyChar())) { + findInput += e.getKeyChar(); + processFindInput(); + } + } + + /** + * + */ + protected void processFindInput() { + selectNodesBeginningWith(findInput); + if (findInputClearer != null) { + findInputClearer.stop(); + findInputClearer = null; + } + findInputClearer = new Thread() { + public void run() { + try { + sleep(4000); + findInput = ""; + //System.out.println("clearing input"); + } + catch (InterruptedException iex) {} + } + }; + findInputClearer.start(); + } + + public void selectNodesBeginningWith(String input) { + selection.clear(); + List<Node> matchingNodes = new ArrayList<Node>(); + for (Iterator<Node> nodesI = getSourceGraph().getNodes().iterator(); nodesI.hasNext();) { + Node node = nodesI.next(); + if (node.getCurrentPainter() != null) { + String label = node.getCurrentPainter().getLabel(node); + if (label != null && label.startsWith(input)) { + matchingNodes.add(node); + } + } + } + //if (matchingNodes.size() < 4) { + selection.addNodes(matchingNodes); + //} + } + + public void nodesAddedToSelection(SelectionModel nodeSelectionModel, Collection<Node> nodes) { + repaint(); + } + + public void nodesRemovedFromSelection(SelectionModel nodeSelectionModel, Collection<Node> nodes) { + repaint(); + } + + public void selectionCleared(SelectionModel nodeSelectionModel) { + repaint(); + } + + /** + * @see org.mediavirus.graphl.selection.SelectionListener#edgesAddedToSelection(org.mediavirus.graphl.selection.SelectionModel, java.util.Collection) + */ + public void edgesAddedToSelection(SelectionModel nodeSelectionModel, Collection<Edge> edges) { + repaint(); + } + + /** + * @see org.mediavirus.graphl.selection.SelectionListener#edgesRemovedFromSelection(org.mediavirus.graphl.selection.SelectionModel, java.util.Collection) + */ + public void edgesRemovedFromSelection(SelectionModel nodeSelectionModel, Collection<Edge> edges) { + repaint(); + } + } |
Update of /cvsroot/graphl/graphl/web/config/vocabs/SOUPA In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343/web/config/vocabs/SOUPA Added Files: schedule location space time event action policy person device bdi geo-measurement document agent soupa-ontology-2004-06.jpg img-capture rcc meeting digital-doc knowledge Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( --- NEW FILE: img-capture --- <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY soupa "http://pervasive.semanticweb.org/ont/2004/06/"> <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY owl "http://www.w3.org/2002/07/owl#"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY dev "http://pervasive.semanticweb.org/ont/2004/06/device#"> <!ENTITY tme "http://pervasive.semanticweb.org/ont/2004/06/time#"> <!ENTITY spc "http://pervasive.semanticweb.org/ont/2004/06/space#"> <!ENTITY ddc "http://pervasive.semanticweb.org/ont/2004/06/digital-doc#"> <!ENTITY icap "http://pervasive.semanticweb.org/ont/2004/06/img-capture#"> <!ENTITY cam "http://protege.stanford.edu/plugins/owl/owl-library/camera.owl"> ]> <!-- This ontology document is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. --> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:owl = "&owl;" xmlns:xsd = "&xsd;" xmlns:tme = "&tme;" xmlns:spc = "&spc;" xmlns:dev = "&dev;" xmlns:cam = "&cam;" xmlns:ddc = "&ddc;" xmlns = "&icap;" xml:base = "http://pervasive.semanticweb.org/ont/2004/06/img-capture"> <owl:Ontology rdf:about="&soupa;img-capture"> <owl:versionInfo>$Revision: 1.1 $, $Date: 2004/05/15 18:55:08 $</owl:versionInfo> <rdfs:label>SOUPA Camera Phone Image Capture Ontology</rdfs:label> <owl:imports rdf:resource="&soupa;time"/> <owl:imports rdf:resource="&soupa;space"/> <owl:imports rdf:resource="&soupa;device"/> <owl:imports rdf:resource="&soupa;digital-doc"/> </owl:Ontology> <owl:Class rdf:ID="ImageCaptureEvent"> <rdfs:label>ImageCaptureEvent</rdfs:label> <rdfs:subClassOf rdf:resource="&tme;TemporalEvent"/> <rdfs:subClassOf rdf:resource="&spc;SpatialThing"/> </owl:Class> <owl:Class rdf:about="&cam;Digital"/> <owl:Class rdf:ID="CameraPhone"> <rdfs:label>CameraPhone</rdfs:label> <rdfs:subClassOf rdf:resource="&cam;Digital"/> <rdfs:subClassOf rdf:resource="&dev;Cellphone"/> </owl:Class> <owl:ObjectProperty rdf:ID="capturedBy"> <rdfs:label>capturedBy</rdfs:label> <rdfs:domain rdf:resource="#ImageCaptureEvent"/> <rdfs:range rdf:resource="#CameraPhone"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="image"> <rdfs:label>image</rdfs:label> <rdfs:domain rdf:resource="#ImageCaptureEvent"/> <rdfs:range rdf:resource="&ddc;ImageFile"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="atLocation"> <rdfs:label>atLocation</rdfs:label> <rdfs:domain rdf:resource="#ImageCaptureEvent"/> <rdfs:range rdf:resource="&spc;SpatialThing"/> </owl:ObjectProperty> </rdf:RDF> --- NEW FILE: soupa-ontology-2004-06.jpg --- (This appears to be a binary file; contents omitted.) --- NEW FILE: knowledge --- <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY soupa "http://pervasive.semanticweb.org/ont/2004/06/"> <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY owl "http://www.w3.org/2002/07/owl#"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY know "http://pervasive.semanticweb.org/ont/2004/06/knowledge#"> ]> <!-- This ontology document is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. --> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:owl = "&owl;" xmlns:xsd = "&xsd;" xmlns:know = "&know;" xmlns = "&know;" xml:base = "http://pervasive.semanticweb.org/ont/2004/06/knowledge"> <owl:Ontology rdf:about="&soupa;knowledge"> <owl:versionInfo>$Revision: 1.1 $, $Date: 2004/05/15 18:55:09 $</owl:versionInfo> <rdfs:label>SOUPA Context Knowledge Ontology</rdfs:label> <rdfs:comment></rdfs:comment> </owl:Ontology> <owl:Class rdf:ID="Knowledge"> <rdfs:label>Knowledge</rdfs:label> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#ConsistentKnowledge"/> <owl:Class rdf:about="#InconsistentKnowledge"/> </owl:unionOf> </owl:Class> <owl:Class rdf:ID="ConsistentKnowledge"> <rdfs:label>ConsistentKnowledge</rdfs:label> <rdfs:subClassOf rdf:resource="#Knowledge"/> <owl:disjointWith rdf:resource="#InconsistentKnowledge"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#inconsistentWith"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="InconsistentKnowledge"> <rdfs:label>InconsistentKnowledge</rdfs:label> <rdfs:subClassOf rdf:resource="#Knowledge"/> <owl:disjointWith rdf:resource="#ConsistentKnowledge"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#inconsistentWith"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="inconsistentWith"> <rdfs:label>inconsistentWith</rdfs:label> <rdfs:domain rdf:resource="#Knowledge"/> <rdfs:range rdf:resource="#Knowledge"/> <rdf:type rdf:resource="&owl;SymmetricProperty"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="source"> <rdfs:label>source</rdfs:label> <rdfs:domain rdf:resource="#Knowledge"/> </owl:ObjectProperty> <owl:DatatypeProperty rdf:ID="reliabilityRating"> <rdfs:label>reliabilityRating</rdfs:label> <rdfs:domain rdf:resource="#Knowledge"/> <rdfs:range rdf:resource="&xsd;float"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="inconsistentWithCount"> <rdfs:label>inconsistentWithCounty</rdfs:label> <rdfs:domain rdf:resource="#Knowledge"/> <rdfs:range rdf:resource="&xsd;nonNegativeInteger"/> </owl:DatatypeProperty> </rdf:RDF> --- NEW FILE: schedule --- <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY soupa "http://pervasive.semanticweb.org/ont/2004/06/"> <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY owl "http://www.w3.org/2002/07/owl#"> <!ENTITY tme "http://pervasive.semanticweb.org/ont/2004/06/time#"> <!ENTITY sch "http://pervasive.semanticweb.org/ont/2004/06/schedule#"> <!ENTITY spc "http://pervasive.semanticweb.org/ont/2004/06/space#"> <!ENTITY mtg "http://pervasive.semanticweb.org/ont/2004/06/meeting#"> <!ENTITY per "http://pervasive.semanticweb.org/ont/2004/06/person#"> ]> <!-- This ontology document is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. --> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:owl = "&owl;" xmlns:spc = "&spc;" xmlns:xsd = "&xsd;" xmlns = "&sch;" xml:base = "http://pervasive.semanticweb.org/ont/2004/06/schedule"> <owl:Ontology rdf:about="&soupa;schedule"> <owl:imports rdf:resource="&soupa;time"/> <owl:imports rdf:resource="&soupa;person"/> <owl:imports rdf:resource="&soupa;space"/> <owl:imports rdf:resource="&soupa;meeting"/> <owl:versionInfo>cvs:$Revision: 1.3 $, $Date: 2004/03/07 18:26:58 $</owl:versionInfo> <rdfs:label>SOUPA Meeting Schedule Ontology</rdfs:label> <rdfs:comment></rdfs:comment> </owl:Ontology> <owl:Class rdf:ID="MeetingSchedule"> <rdfs:label>MeetingSchedule</rdfs:label> <rdfs:subClassOf rdf:resource="&tme;IntervalThing"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#name"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#location"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#createdBy"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="location"> <rdfs:label>location</rdfs:label> <rdfs:domain rdf:resource="#MeetingSchedule"/> <rdfs:range rdf:resource="&spc;SpaceInAFixedStructure"/> <rdf:type rdf:resource="&owl;FunctionalProperty"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="createdBy"> <rdfs:label>createdBy</rdfs:label> <rdfs:domain rdf:resource="#MeetingSchedule"/> <rdfs:range rdf:resource="&per;Person"/> </owl:ObjectProperty> <owl:DatatypeProperty rdf:ID="name"> <rdfs:label>name</rdfs:label> <rdfs:domain rdf:resource="#MeetingSchedule"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="description"> <rdfs:label>description</rdfs:label> <rdfs:domain rdf:resource="#MeetingSchedule"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:ObjectProperty rdf:ID="invitedParticipant"> <rdfs:label>invitedParticipant</rdfs:label> <rdfs:domain rdf:resource="#MeetingSchedule"/> <rdfs:range rdf:resource="&per;Person"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="scheduleOf"> <rdfs:label>scheduleOf</rdfs:label> <rdfs:domain rdf:resource="#MeetingSchedule"/> <rdfs:range rdf:resource="&mtg;Meeting"/> <rdf:type rdf:resource="&owl;FunctionalProperty"/> </owl:ObjectProperty> </rdf:RDF> --- NEW FILE: digital-doc --- <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY soupa "http://pervasive.semanticweb.org/ont/2004/06/"> <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY owl "http://www.w3.org/2002/07/owl#"> <!ENTITY doc "http://pervasive.semanticweb.org/ont/2004/06/document#"> <!ENTITY ddc "http://pervasive.semanticweb.org/ont/2004/06/digital-doc#"> ]> <!-- This ontology document is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. --> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:owl = "&owl;" xmlns:xsd = "&xsd;" xmlns:doc = "&doc;" xmlns = "&ddc;" xml:base = "http://pervasive.semanticweb.org/ont/2004/06/digital-doc"> <owl:Ontology rdf:about="&soupa;digital-doc"> <owl:imports rdf:resource="&soupa;document"/> <owl:versionInfo>cvs:$Revision: 1.1 $, $Date: 2004/05/15 18:55:08 $</owl:versionInfo> <rdfs:label>SOUPA Digital Document Ontology</rdfs:label> </owl:Ontology> <owl:Class rdf:ID="DigitalDocument"> <rdfs:label>DigitalDocument</rdfs:label> <rdfs:subClassOf rdf:resource="&doc;Document"/> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#ImageFile"/> <owl:Class rdf:about="#VideoFile"/> <owl:Class rdf:about="#AudioFile"/> </owl:unionOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#fileSize"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="sourceURL"> <rdfs:domain rdf:resource="#DigitalDocument"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="fileSize"> <rdfs:label>fileSize</rdfs:label> <rdfs:domain rdf:resource="#DigitalDocument"/> <rdfs:range rdf:resource="#FileSizeDescription"/> </owl:ObjectProperty> <owl:Class rdf:ID="FileSizeDescription"> <rdfs:label>FileSizeDescription</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#unit"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#size"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="unit"> <rdfs:label>unit</rdfs:label> <rdfs:domain rdf:resource="#FileSizeDescription"/> <rdfs:range rdf:resource="#FileSizeUnit"/> </owl:ObjectProperty> <owl:DatatypeProperty rdf:ID="size"> <rdfs:label>size</rdfs:label> <rdfs:domain rdf:resource="#FileSizeDescription"/> <rdfs:range rdf:resource="&xsd;unsignedLong"/> </owl:DatatypeProperty> <owl:Class rdf:ID="FileSizeUnit"> <rdfs:label>FileSizeUnit</rdfs:label> <owl:oneOf rdf:parseType="Collection"> <FileSizeUnit rdf:about="#Bytes"/> <FileSizeUnit rdf:about="#KBytes"/> <FileSizeUnit rdf:about="#MBytes"/> <FileSizeUnit rdf:about="#GBytes"/> <FileSizeUnit rdf:about="#TBytes"/> </owl:oneOf> </owl:Class> <owl:Class rdf:ID="ImageFile"> <rdfs:label>ImageFile</rdfs:label> <rdfs:subClassOf rdf:resource="#DigitalDocument"/> <owl:disjointWith rdf:resource="#AudioFile"/> <owl:disjointWith rdf:resource="#VideoFile"/> </owl:Class> <owl:Class rdf:ID="AudioFile"> <rdfs:label>AudioFile</rdfs:label> <rdfs:subClassOf rdf:resource="#DigitalDocument"/> <owl:disjointWith rdf:resource="#VideoFile"/> </owl:Class> <owl:Class rdf:ID="VideoFile"> <rdfs:label>VideoFile</rdfs:label> <rdfs:subClassOf rdf:resource="#DigitalDocument"/> </owl:Class> </rdf:RDF> --- NEW FILE: space --- <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY soupa "http://pervasive.semanticweb.org/ont/2004/06/"> <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY owl "http://www.w3.org/2002/07/owl#"> <!ENTITY tme "http://pervasive.semanticweb.org/ont/2004/01/time#"> <!ENTITY geom "http://pervasive.semanticweb.org/ont/2004/06/geo-measurement#"> <!ENTITY pol "http://pervasive.semanticweb.org/ont/2004/06/policy#"> <!ENTITY spc "http://pervasive.semanticweb.org/ont/2004/06/space#"> ]> <!-- This ontology document is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. --> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:owl = "&owl;" xmlns:xsd = "&xsd;" xmlns:tme = "&tme;" xmlns:geom = "&geom;" xmlns:pol = "&pol;" xmlns = "&spc;" xml:base = "http://pervasive.semanticweb.org/ont/2004/06/space"> <owl:Ontology rdf:about="&soupa;space"> <owl:imports rdf:resource="&soupa;time"/> <owl:imports rdf:resource="&soupa;geo-measurement"/> <owl:imports rdf:resource="&soupa;policy"/> <owl:versionInfo>cvs:$Revision: 1.3 $, $Date: 2004/03/07 17:33:18 $</owl:versionInfo> <rdfs:label>SOUPA Space Ontology</rdfs:label> <rdfs:comment></rdfs:comment> </owl:Ontology> <owl:Class rdf:ID="SpatialThing"> <rdfs:label>SpatialThing</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasCoordinates"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#GeographicalSpace"/> <owl:Class rdf:about="#MovableSpatialThing"/> </owl:unionOf> </owl:Class> <owl:ObjectProperty rdf:ID="hasCoordinates"> <rdfs:label>hasCoordinates</rdfs:label> <rdfs:domain rdf:resource="#SpatialThing"/> <rdfs:range rdf:resource="&geom;LocationCoordinates"/> </owl:ObjectProperty> <owl:Class rdf:ID="GeopoliticalEntity"> <rdfs:label>GeopoliticalEntity</rdfs:label> </owl:Class> <owl:DatatypeProperty rdf:ID="officialName"> <rdfs:label>officialName</rdfs:label> <rdf:type rdf:resource="&owl;FunctionalProperty"/> <rdfs:domain rdf:resource="#GeopoliticalEntity"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:ObjectProperty rdf:ID="controls"> <rdfs:label>controls</rdfs:label> <rdfs:domain rdf:resource="#GeopoliticalEntity"/> <rdfs:range rdf:resource="#GeographicalSpace"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="controlledBy"> <rdfs:label>controlledBy</rdfs:label> <owl:inverseOf rdf:resource="#controls"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="definesPolicy"> <rdfs:label>definesPolicy</rdfs:label> <rdfs:domain rdf:resource="#GeopoliticalEntity"/> <rdfs:range rdf:resource="&pol;Policy"/> </owl:ObjectProperty> <owl:Class rdf:ID="GeographicalSpace"> <rdfs:label>GeographicalSpace</rdfs:label> <rdfs:subClassOf rdf:resource="#SpatialThing"/> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#GeographicalRegion"/> <owl:Class rdf:about="#FixedStructure"/> <owl:Class rdf:about="#SpaceInAFixedStructure"/> </owl:unionOf> <owl:disjointWith rdf:resource="#MovableSpatialThing"/> </owl:Class> <owl:DatatypeProperty rdf:ID="name"> <rdfs:label>name</rdfs:label> <rdfs:domain rdf:resource="#GeographicalSpace"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:Class rdf:ID="GeographicalRegion"> <rdfs:label>GeographicalRegion</rdfs:label> <rdfs:subClassOf rdf:resource="#GeographicalSpace"/> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#LandBasedRegion"/> <owl:Class rdf:about="#WaterBasedRegion"/> </owl:unionOf> </owl:Class> <owl:Class rdf:ID="LandBasedRegion"> <rdfs:label>LandBasedRegion</rdfs:label> <rdfs:subClassOf rdf:resource="#GeographicalRegion"/> </owl:Class> <owl:Class rdf:ID="WaterBasedRegion"> <rdfs:label>WaterBasedRegion</rdfs:label> <rdfs:subClassOf rdf:resource="#GeographicalRegion"/> <owl:disjointWith rdf:resource="#LandBasedRegion"/> </owl:Class> <owl:Class rdf:ID="FixedStructure"> <rdfs:label>FixedStructure</rdfs:label> <rdfs:subClassOf rdf:resource="#GeographicalSpace"/> <owl:disjointWith rdf:resource="#GeographicalRegion"/> </owl:Class> <owl:Class rdf:ID="SpaceInAFixedStructure"> <rdfs:label>SpaceInAFixedStructure</rdfs:label> <rdfs:subClassOf rdf:resource="#GeographicalSpace"/> <owl:disjointWith rdf:resource="#GeographicalRegion"/> <owl:disjointWith rdf:resource="#FixedStructure"/> </owl:Class> <owl:ObjectProperty rdf:ID="spatiallySubsumes"> <rdfs:label>spatiallySubsumes</rdfs:label> <rdf:type rdf:resource="&owl;TransitiveProperty"/> <rdfs:domain rdf:resource="#GeographicalSpace"/> <rdfs:range rdf:resource="#GeographicalSpace"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="spatiallySubsumedBy"> <rdfs:label>spatiallySubsumedBy</rdfs:label> <owl:inverseOf rdf:resource="#spatiallySubsumes"/> </owl:ObjectProperty> </rdf:RDF> --- NEW FILE: bdi --- <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY soupa "http://pervasive.semanticweb.org/ont/2004/06/"> <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY owl "http://www.w3.org/2002/07/owl#"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY bdi "http://pervasive.semanticweb.org/ont/2004/06/bdi#"> <!ENTITY act "http://pervasive.semanticweb.org/ont/2004/06/action#"> ]> <!-- This ontology document is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. --> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:owl = "&owl;" xmlns:xsd = "&xsd;" xmlns:act = "&act;" xmlns = "&bdi;" xml:base = "http://pervasive.semanticweb.org/ont/2004/06/bdi"> <owl:Ontology rdf:about="&soupa;bdi"> <owl:versionInfo>$Revision: 1.4 $, $Date: 2004/07/15 15:40:46 $</owl:versionInfo> <rdfs:label>SOUPA Belief-Desire-Intention Ontology</rdfs:label> <rdfs:comment></rdfs:comment> <owl:imports rdf:resource="&soupa;action"/> </owl:Ontology> <owl:Class rdf:ID="Belief"> <rdfs:label>Belief</rdfs:label> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#TrueStatement"/> <owl:Class rdf:about="#FalseStatement"/> </owl:unionOf> </owl:Class> <owl:Class rdf:ID="TrueStatement"> <rdfs:label>TrueStatement</rdfs:label> <rdfs:subClassOf rdf:resource="#Belief"/> <owl:disjointWith rdf:resource="#FalseStatement"/> </owl:Class> <owl:Class rdf:ID="FalseStatement"> <rdfs:label>FalseStatement</rdfs:label> <rdfs:subClassOf rdf:resource="#Belief"/> </owl:Class> <owl:Class rdf:ID="Desire"> <rdfs:label>Desire</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#endState" /> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="ConflictingDesire"> <rdfs:label>ConflictingDesire</rdfs:label> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Desire" /> <owl:Restriction> <owl:onProperty rdf:resource="#conflicts"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction> </owl:intersectionOf> <owl:disjointWith rdf:resource="#NonConflictingDesire"/> </owl:Class> <owl:Class rdf:ID="NonConflictingDesire"> <rdfs:label>NonConflictingDesire</rdfs:label> <rdfs:subClassOf rdf:resource="#Desire" /> <owl:disjointWith rdf:resource="#ConflictingDesire"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#conflicts"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="reasonForConflict"> <rdfs:label>reasonForConflict</rdfs:label> <rdfs:domain rdf:resource="#ConflictingDesire"/> </owl:ObjectProperty> <owl:Class rdf:ID="AchievableDesire"> <rdfs:label>AchievableDesire</rdfs:label> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Desire" /> <owl:Restriction> <owl:onProperty rdf:resource="#canBeAchievedWithPlan" /> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction> </owl:intersectionOf> <owl:disjointWith rdf:resource="#NonAchievableDesire"/> </owl:Class> <owl:Class rdf:ID="NonAchievableDesire"> <rdfs:label>NonAchievableDesire</rdfs:label> <rdfs:subClassOf rdf:resource="#Desire" /> <owl:disjointWith rdf:resource="#AchievableDesire"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#canBeAchievedWithPlan"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Goal"> <rdfs:label>Goal</rdfs:label> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#AchievableDesire" /> <owl:Class rdf:about="#NonConflictingDesire" /> </owl:intersectionOf> </owl:Class> <owl:Class rdf:ID="Intention"> <rdfs:label>Intention</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#definedByPlan" /> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="endState"> <rdfs:domain rdf:resource="#Desire" /> <rdfs:range rdf:resource="&owl;Thing" /> </owl:ObjectProperty> <owl:Class rdf:ID="Plan"> <rdfs:label>Plan</rdfs:label> <rdfs:subClassOf rdf:resource="&act;Action" /> </owl:Class> <owl:ObjectProperty rdf:ID="preCondition"> <rdfs:domain rdf:resource="#Plan" /> <rdfs:range rdf:resource="&owl;Thing" /> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="effect"> <rdfs:domain rdf:resource="#Plan" /> <rdfs:range rdf:resource="&owl;Thing" /> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="conflicts"> <rdf:type rdf:resource="&owl;SymmetricProperty" /> <rdfs:domain rdf:resource="&owl;Thing" /> <rdfs:range rdf:resource="&owl;Thing" /> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="canBeAchievedWithPlan"> <rdfs:domain rdf:resource="#Desire"/> <rdfs:range rdf:resource="#Plan"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="definedByPlan"> <rdfs:domain rdf:resource="#Intention"/> <rdfs:range rdf:resource="#Plan"/> </owl:ObjectProperty> </rdf:RDF> --- NEW FILE: agent --- <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY soupa "http://pervasive.semanticweb.org/ont/2004/06/"> <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY owl "http://www.w3.org/2002/07/owl#"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY bdi "http://pervasive.semanticweb.org/ont/2004/06/bdi#"> <!ENTITY agt "http://pervasive.semanticweb.org/ont/2004/06/agent#"> ]> <!-- This ontology document is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. --> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:owl = "&owl;" xmlns:xsd = "&xsd;" xmlns:bdi = "&bdi;" xmlns = "&agt;" xml:base = "http://pervasive.semanticweb.org/ont/2004/06/agent"> <owl:Ontology rdf:about="&soupa;agent"> <owl:versionInfo>cvs:$Revision: 1.4 $, $Date: 2004/03/04 18:16:46 $</owl:versionInfo> <rdfs:label>SOUPA Agent Ontology</rdfs:label> <rdfs:comment></rdfs:comment> <owl:imports rdf:resource="&soupa;bdi"/> </owl:Ontology> <owl:Class rdf:ID="Agent"> <rdfs:label>Agent</rdfs:label> </owl:Class> <owl:ObjectProperty rdf:ID="believes"> <rdfs:label>believes</rdfs:label> <rdfs:domain rdf:resource="#Agent"/> <rdfs:range rdf:resource="&bdi;Belief"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="desires"> <rdfs:label>desires</rdfs:label> <rdfs:domain rdf:resource="#Agent" /> <rdfs:range rdf:resource="&bdi;Desire" /> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="intends"> <rdfs:label>intends</rdfs:label> <rdfs:domain rdf:resource="#Agent" /> <rdfs:range rdf:resource="&bdi;Intention"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="hasGoal"> <rdfs:subPropertyOf rdf:resource="#desires" /> <rdfs:range rdf:resource="&bdi;Goal"/> </owl:ObjectProperty> </rdf:RDF> --- NEW FILE: person --- <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY soupa "http://pervasive.semanticweb.org/ont/2004/06/"> <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY owl "http://www.w3.org/2002/07/owl#"> <!ENTITY foaf "http://xmlns.com/foaf/0.1#"> <!ENTITY per "http://pervasive.semanticweb.org/ont/2004/06/person#"> ]> <!-- This ontology document is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. --> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:owl = "&owl;" xmlns:xsd = "&xsd;" xmlns:foaf = "&foaf;" xmlns = "&per;" xml:base = "http://pervasive.semanticweb.org/ont/2004/06/person"> <owl:Ontology rdf:about="&soupa;person"> <owl:versionInfo>cvs:$Revision: 1.8 $, $Date: 2004/06/19 20:50:17 $</owl:versionInfo> <rdfs:label>SOUPA Person Ontology</rdfs:label> <rdfs:comment></rdfs:comment> </owl:Ontology> <owl:Class rdf:ID="Person"> <rdfs:label>Person</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#gender"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#birthDate"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <owl:equivalentClass> <owl:Class rdf:about="&foaf;Person"/> </owl:equivalentClass> </owl:Class> <owl:DatatypeProperty rdf:ID="name"> <rdfs:label>name</rdfs:label> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="firstName"> <rdfs:label>firstName</rdfs:label> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="middleName"> <rdfs:label>middleName</rdfs:label> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="lastName"> <rdfs:label>lastName</rdfs:label> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="givenName"> <rdfs:label>givenName</rdfs:label> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="&xsd;string"/> <owl:equivalentProperty rdf:resource="#firstName"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="familyName"> <rdfs:label>familyName</rdfs:label> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="&xsd;string"/> <owl:equivalentProperty rdf:resource="#lastName"/> </owl:DatatypeProperty> <owl:Class rdf:ID="Gender"> <rdfs:label>Gender</rdfs:label> <owl:oneOf rdf:parseType="Collection"> <Gender rdf:about="#Male"/> <Gender rdf:about="#Female"/> </owl:oneOf> </owl:Class> <owl:ObjectProperty rdf:ID="gender"> <rdfs:label>gender</rdfs:label> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="#Gender"/> <rdf:type rdf:resource="&owl;FunctionalProperty" /> </owl:ObjectProperty> <owl:DatatypeProperty rdf:ID="birthDate"> <rdfs:label>birthDate</rdfs:label> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="&xsd;date"/> <rdf:type rdf:resource="&owl;FunctionalProperty" /> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="nickname"> <rdfs:label>nickname</rdfs:label> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:ObjectProperty rdf:ID="homepage"> <rdfs:label>homepage</rdfs:label> <rdfs:range rdf:resource="#Homepage"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="workplaceHomepage"> <rdfs:label>workplaceHomepage</rdfs:label> <rdfs:subPropertyOf rdf:resource="#homepage"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="schoolHomepage"> <rdfs:label>schoolHomepage</rdfs:label> <rdfs:subPropertyOf rdf:resource="#homepage"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="hasContactProfile"> <rdfs:label>hasContactProfile</rdfs:label> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="#ContactProfile"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="hasHomeContactProfile"> <rdfs:label>hasHomeContactProfile</rdfs:label> <rdfs:subPropertyOf rdf:resource="#hasContactProfile"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="hasWorkContactProfile"> <rdfs:label>hasHomeContact</rdfs:label> <rdfs:subPropertyOf rdf:resource="#hasContactProfile"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="hasSchoolContactProfile"> <rdfs:label>hasSchoolContact</rdfs:label> <rdfs:subPropertyOf rdf:resource="#hasContactProfile"/> </owl:ObjectProperty> <owl:Class rdf:ID="ContactProfile"> <rdfs:label>ContactProfile</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#address"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#phone"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#fax"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#homepage"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#email"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#mobile"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#im"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#myagent"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:DatatypeProperty rdf:ID="address"> <rdfs:label>address</rdfs:label> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="phone"> <rdfs:label>phone</rdfs:label> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="fax"> <rdfs:label>fax</rdfs:label> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="mobile"> <rdfs:label>mobile</rdfs:label> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="sms"> <rdfs:label>sms</rdfs:label> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:ObjectProperty rdf:ID="email"> <rdfs:label>email</rdfs:label> <rdfs:range rdf:resource="#Email"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="im"> <rdfs:label>im</rdfs:label> <rdfs:range rdf:resource="#ChatID"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="myagent"> <rdfs:label>im</rdfs:label> <rdfs:range rdf:resource="#JADEAgentID"/> </owl:ObjectProperty> <owl:Class rdf:ID="InternetResourceURL"> <rdfs:label>InternetResourceURL</rdfs:label> </owl:Class> <owl:Class rdf:ID="Document"> <rdfs:label>Document</rdfs:label> <owl:equivalentClass> <owl:Class rdf:about="&foaf;Document"/> </owl:equivalentClass> </owl:Class> <owl:Class rdf:ID="Homepage"> <rdfs:label>Homepage</rdfs:label> <rdfs:subClassOf rdf:resource="#InternetResourceURL"/> <rdfs:subClassOf rdf:resource="#Document"/> </owl:Class> <owl:Class rdf:ID="Email"> <rdfs:label>Email</rdfs:label> <rdfs:subClassOf rdf:resource="#InternetResourceURL"/> </owl:Class> <owl:Class rdf:ID="ChatID"> <rdfs:label>ChatID</rdfs:label> <rdfs:subClassOf rdf:resource="#InternetResourceURL"/> </owl:Class> <owl:Class rdf:ID="JADEAgentID"> <rdfs:label>JADEAgentID</rdfs:label> </owl:Class> <owl:ObjectProperty rdf:ID="providedBy"> <rdfs:label>providedBy</rdfs:label> <rdfs:domain rdf:resource="#ChatID"/> <rdfs:range rdf:resource="#IMProvider"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="hasRegisteredChatID"> <rdfs:label>hasRegisteredChatID</rdfs:label> <owl:inverseOf rdf:resource="#providedBy"/> </owl:ObjectProperty> <owl:Class rdf:ID="IMProvider"> <rdfs:label>IMProvider</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasRegisteredChatID"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="knows"> <rdfs:label>knows</rdfs:label> <rdfs:domain rdf:resource="#Person"/> <rdfs:domain rdf:resource="#Person"/> <rdf:type rdf:resource="&owl;SymmetricProperty"/> <owl:equivalentProperty> <owl:ObjectProperty rdf:about="&foaf;knows"/> </owl:equivalentProperty> </owl:ObjectProperty> </rdf:RDF> --- NEW FILE: geo-measurement --- <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY soupa "http://pervasive.semanticweb.org/ont/2004/06/"> <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY owl "http://www.w3.org/2002/07/owl#"> <!ENTITY spc "http://pervasive.semanticweb.org/ont/2004/06/space#"> <!ENTITY geom "http://pervasive.semanticweb.org/ont/2004/06/geo-measurement#"> ]> <!-- This ontology document is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. --> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:owl = "&owl;" xmlns:xsd = "&xsd;" xmlns:spc = "&spc;" xmlns = "&geom;" xml:base = "http://pervasive.semanticweb.org/ont/2004/06/geo-measurement"> <owl:Ontology rdf:about="&soupa;geo-measurement"> <owl:imports rdf:resource="&soupa;space"/> <owl:versionInfo>cvs:$Revision: 1.2 $, $Date: 2004/03/07 17:58:36 $</owl:versionInfo> <rdfs:label>SOUPA Geographical Measurement Ontology</rdfs:label> <rdfs:comment></rdfs:comment> </owl:Ontology> <owl:Class rdf:ID="LocationCoordinates"> <rdfs:label>LocationCoordinates</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#longitude"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#latitude"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#altitude"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:DatatypeProperty rdf:ID="longitude"> <rdfs:label>longitude</rdfs:label> <rdfs:domain rdf:resource="#LocationCoordinates"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="latitude"> <rdfs:label>latitude</rdfs:label> <rdfs:domain rdf:resource="#LocationCoordinates"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="altitude"> <rdfs:label>altitude</rdfs:label> <rdfs:domain rdf:resource="#LocationCoordinates"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:Class rdf:ID="Distance"> <rdfs:label>Distance</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#fromSpatialThing"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#toSpatialThing"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#distanceValueDescription"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="fromSpatialThing"> <rdfs:label>fromSpatialThing</rdfs:label> <rdfs:domain rdf:resource="#Distance"/> <rdfs:range rdf:resource="&spc;SpatialThing"/> <rdf:type rdf:resource="&owl;FunctionalProperty"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="toSpatialThing"> <rdfs:label>toSpatialThing</rdfs:label> <rdfs:domain rdf:resource="#Distance"/> <rdfs:range rdf:resource="&spc;SpatialThing"/> <rdf:type rdf:resource="&owl;FunctionalProperty"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="distanceValueDescription"> <rdfs:label>distanceValueDescription</rdfs:label> <rdfs:domain rdf:resource="#Distance"/> <rdfs:range rdf:resource="#DistanceValueDescription"/> <rdf:type rdf:resource="&owl;FunctionalProperty"/> </owl:ObjectProperty> <owl:Class rdf:ID="DistanceValueDescription"> <rdfs:label>DistanceValueDescription</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#distanceUnit"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#distanceValue"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#direction"/> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="distanceUnit"> <rdfs:label>distanceUnit</rdfs:label> <rdfs:domain rdf:resource="#DistanceValueDescription"/> <rdfs:range rdf:resource="#DistanceUnit"/> </owl:ObjectProperty> <owl:DatatypeProperty rdf:ID="distanceValue"> <rdfs:label>distanceValue</rdfs:label> <rdfs:domain rdf:resource="#DistanceValueDescription"/> <rdfs:range rdf:resource="&xsd;float"/> </owl:DatatypeProperty> <owl:ObjectProperty rdf:ID="direction"> <rdfs:label>direction</rdfs:label> <rdfs:domain rdf:resource="#DistanceValueDescription"/> <rdfs:range rdf:resource="#Direction"/> </owl:ObjectProperty> <owl:Class rdf:ID="DistanceUnit"> <rdfs:label>DistanceUnit</rdfs:label> <owl:oneOf rdf:parseType="Collection"> <DistanceUnit rdf:about="#Mile"/> <DistanceUnit rdf:about="#Yard"/> <DistanceUnit rdf:about="#Foot"/> <DistanceUnit rdf:about="#Inch"/> <DistanceUnit rdf:about="#Kilometer"/> <DistanceUnit rdf:about="#Meter"/> <DistanceUnit rdf:about="#Centimeter"/> </owl:oneOf> </owl:Class> <owl:Class rdf:ID="Direction"> <rdfs:label>Direction</rdfs:label> <owl:oneOf rdf:parseType="Collection"> <Direction rdf:about="#N"/> <Direction rdf:about="#S"/> <Direction rdf:about="#E"/> <Direction rdf:about="#W"/> <Direction rdf:about="#NW"/> <Direction rdf:about="#NE"/> <Direction rdf:about="#SW"/> <Direction rdf:about="#SE"/> </owl:oneOf> </owl:Class> <owl:Class rdf:ID="SurfaceArea"> <rdfs:label>SurfaceArea</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#surfaceAreaOf"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#areaValueDescription"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="surfaceAreaOf"> <rdfs:label>surfaceAreaOf</rdfs:label> <rdfs:domain rdf:resource="#SurfaceArea"/> <rdfs:range rdf:resource="&spc;SpatialThing"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="areaValueDescription"> <rdfs:label>areValueDescription</rdfs:label> <rdfs:domain rdf:resource="#SurfaceArea"/> <rdfs:range rdf:resource="#AreaValueDescription"/> </owl:ObjectProperty> <owl:Class rdf:ID="AreaValueDescription"> <rdfs:label>AreaValueDescription</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#areaUnit"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#areaValue"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID="areaUnit"> <rdfs:label>areaUnit</rdfs:label> <rdfs:domain rdf:resource="#AreaValueDescription"/> <rdfs:range rdf:resource="#DistanceUnit"/> </owl:ObjectProperty> <owl:DatatypeProperty rdf:ID="areaValue"> <rdfs:label>areaValue</rdfs:label> <rdfs:domain rdf:resource="#AreaValueDescription"/> <rdfs:range rdf:resource="&xsd;float"/> </owl:DatatypeProperty> <owl:Class rdf:ID="AreaUnit"> <rdfs:label>AreaUnit</rdfs:label> <owl:oneOf rdf:parseType="Collection"> <AreaUnit rdf:about="#MileSq"/> <AreaUnit rdf:about="#YardSq"/> <AreaUnit rdf:about="#FootSq"/> <AreaUnit rdf:about="#InchSq"/> <AreaUnit rdf:about="#KilometerSq"/> <AreaUnit rdf:about="#MeterSq"/> <AreaUnit rdf:about="#CentimeterSq"/> </owl:oneOf> </owl:Class> </rdf:RDF> --- NEW FILE: device --- <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY soupa "http://pervasive.semanticweb.org/ont/2004/06/"> <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY owl "http://www.w3.org/2002/07/owl#"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY dev "http://pervasive.semanticweb.org/ont/2004/06/device#"> <!ENTITY per "http://pervasive.semanticweb.org/ont/2004/06/person#"> ]> <!-- This ontology document is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. --> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:owl = "&owl;" xmlns:xsd = "&xsd;" xmlns:per = "&per;" xmlns = "&dev;" xml:base = "http://pervasive.semanticweb.org/ont/2004/06/device"> <owl:Ontology rdf:about="&soupa;device"> <owl:versionInfo>$Revision: 1.1 $, $Date: 2004/05/15 18:55:08 $</owl:versionInfo> <rdfs:label>SOUPA Device Ontology</rdfs:label> <rdfs:comment></rdfs:comment> <owl:imports rdf:resource="&soupa;person"/> </owl:Ontology> <owl:Class rdf:ID="Device"> <rdfs:label>Device</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#modelNumber"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#serialNumber"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#manufacturerHomepage"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:DatatypeProperty rdf:ID="modelNumber"> <rdfs:label>modelNumber</rdfs:label> <rdfs:domain rdf:resource="#Device"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID="serialNumber"> <rdfs:label>serialNumber</rdfs:label> <rdfs:domain rdf:resource="#Device"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:ObjectProperty rdf:ID="manufacturerHomepage"> <rdfs:label>manufacturerHomepage</rdfs:label> <rdfs:domain rdf:resource="#Device"/> <rdfs:range rdf:resource="&per;Homepage"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="hasUser"> <rdfs:label>userOf</rdfs:label> <rdfs:domain rdf:resource="#Device"/> <rdfs:range rdf:resource="&per;Person"/> </owl:ObjectProperty> <owl:Class rdf:ID="Cellphone"> <rdfs:label>Cellphone</rdfs:label> <rdfs:subClassOf rdf:resource="#Device"/> </owl:Class> <owl:Class rdf:ID="NokiaCellphone"> <rdfs:label>NokiaCellphone</rdfs:label> <rdfs:subClassOf rdf:resource="#Cellphone"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#manufacturerHomepage"/> <owl:hasValue rdf:resource="http://www.nokia.com"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <per:Homepage rdf:about="http://www.nokia.com"/> <owl:Class rdf:ID="SonyEricssonCellphone"> <rdfs:label>SonyEricssonCellphone</rdfs:label> <rdfs:subClassOf rdf:resource="#Cellphone"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#manufacturerHomepage"/> <owl:hasValue rdf:resource="http://www.sonyericsson.com"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <per:Homepage rdf:about="http://www.sonyericsson.com"/> <owl:Class rdf:ID="BluetoothEnabledCellphone"> <rdfs:label>BluetoothEnabledCellphone</rdfs:label> <rdfs:subClassOf rdf:resource="#Cellphone"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#bluetoothMAC"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:DatatypeProperty rdf:ID="bluetoothMAC"> <rdfs:label>bluetoothMAC</rdfs:label> <rdfs:domain rdf:resource="#BluetoothEnabledCellphone"/> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> </rdf:RDF> --- NEW FILE: location --- <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY soupa "http://pervasive.semanticweb.org/ont/2004/06/"> <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY owl "http://www.w3.org/2002/07/owl#"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY loc "http://pervasive.semanticweb.org/ont/2004/06/location#"> <!ENTITY tme "http://pervasive.semanticweb.org/ont/2004/06/time#"> <!ENTITY spc "http://pervasive.semanticweb.org/ont/2004/06/space#"> <!ENTITY know "http://pervasive.semanticweb.org/ont/2004/06/knowledge#"> ]> <!-- This ontology document is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. --> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:owl = "&owl;" xmlns:xsd = "&xsd;" xmlns:tme = "&tme;" xmlns:spc = "&spc;" xmlns:know = "&know;" xmlns = "&loc;" xml:base = "http://pervasive.semanticweb.org/ont/2004/06/location"> <owl:Ontology rdf:about="&soupa;location"> <owl:versionInfo>$Revision: 1.2 $, $Date: 2004/05/15 18:55:09 $</owl:versionInfo> <rdfs:label>SOUPA Location Context Ontology</rdfs:label> <rdfs:comment></rdfs:comment> <owl:imports rdf:resource="&soupa;time"/> <owl:imports rdf:resource="&soupa;space"/> <owl:imports rdf:resource="&soupa;knowledge"/> </owl:Ontology> <owl:Class rdf:ID="LocationContext"> <rdfs:label>LocationContext</rdfs:label> <rdfs:subClassOf rdf:resource="&tme;TemporalEvent"/> <rdfs:subClassOf rdf:resource="&spc;SpatialThing"/> <rdfs:subClassOf rdf:resource="&know;Knowledge"/> </owl:Class> <owl:ObjectProperty rdf:ID="locationContextOf"> <rdfs:label>locationContextOf</rdfs:label> <rdfs:domain rdf:resource="#LocationContext"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="boundedWithin"> <rdfs:label>boundedWithin</rdfs:label> <rdfs:domain rdf:resource="#LocationContext"/> <rdfs:range rdf:resource="&spc;SpatialThing"/> </owl:ObjectProperty> </rdf:RDF> --- NEW FILE: action --- <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY soupa "http://pervasive.semanticweb.org/ont/2004/06/"> <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY owl "http://www.w3.org/2002/07/owl#"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY act "http://pervasive.semanticweb.org/ont/action#"> ]> <!-- This ontology document is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. --> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:owl = "&owl;" xmlns:xsd = "&xsd;" xmlns:act = "&act;" xmlns = "&act;" xml:base = "http://pervasive.semanticweb.org/ont/2004/06/action"> <owl:Ontology rdf:about="&soupa;action"> <owl:versionInfo>$Revision: 1.6 $, $Date: 2004/07/15 15:40:46 $</owl:versionInfo> <rdfs:label>SOUPA Action Ontology</rdfs:label> </owl:Ontology> <owl:Class rdf:ID="Action"> <rdfs:label>Action</rdfs:label> </owl:Class> <owl:ObjectProperty rdf:ID="actor"> <rdfs:label>actor</rdfs:label> <rdfs:domain rdf:resource="#Action"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="recipient"> <rdfs:label>recipient</rdfs:label> <rdfs:domain rdf:resource="#Action"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="target"> <rdfs:domain rdf:resource="#Action"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="location"> <rdfs:domain rdf:resource="#Action"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="time"> <rdfs:domain rdf:resource="#Action"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="instrument"> <rdfs:domain rdf:resource="#Action"/> </owl:ObjectProperty> </rdf:RDF> --- NEW FILE: time --- <?xml version="1.0"?> <!DOCTYPE rdf:RDF [ <!ENTITY soupa "http://pervasive.semanticweb.org/ont/2004/06/"> <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#"> <!ENTITY owl "http://www.w3.org/2002/07/owl#"> <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY tme "http://pervasive.semanticweb.org/ont/2004/06/time#"> <!ENTITY tme1 "http://www.isi.edu/~pan/damltime/time-entry.owl#"> ]> <!-- This ontology document is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. --> <rdf:RDF xmlns:rdf = "&rdf;" xmlns:rdfs = "&rdfs;" xmlns:owl = "&owl;" xmlns:xsd = "&xsd;" xmlns:tme1 = "&tme1;" xmlns = "&tme;" xml:base = "http://pervasive.semanticweb.org/ont/2004/06/time"> <owl:Ontology rdf:about="&soupa;time"> <owl:versionInfo>cvs:$Revision: 1.6 $, $Date: 2004/05/25 19:52:44 $</owl:versionInfo> <rdfs:label>SOUPA Time Ontology</rdfs:label> <rdfs:comment></rdfs:comment> </owl:Ontology> <owl:Class rdf:ID="TemporalThing"> <rdfs:label>TemporalThing</rdfs:label> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Instant" /> <owl:Class rdf:about="#Interval" /> </owl:unionOf> <owl:equivalentClass> <owl:Class rdf:about="&tme1;TemporalThing"/> </owl:equivalentClass> </owl:Class> <owl:Class rdf:ID="TemporalEvent"> <rdfs:label>TemporalEvent</rdfs:label> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#InstantEvent" /> <owl:Class rdf:about="#IntervalEvent" /> </owl:unionOf> <owl:equivalentClass> <owl:Class rdf:about="&tme1;Event"/> </owl:equivalentClass> </owl:Class> <owl:Class rdf:ID="InstantThing"> <rdfs:label>InstantThing</rdfs:label> <rdfs:subClassOf rdf:resource="#TemporalThing"/> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Instant" /> <owl:Class rdf:about="#InstantEvent" /> </owl:unionOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#at"/> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf> <owl:equivalentClass> <owl:Class rdf:about="&tme1;InstantThing"/> </owl:equivalentClass> </owl:Class> <owl:Class rdf:ID="IntervalThing"> <rdfs:label>IntervalThing</rdfs:label> <rdfs:subClassOf rdf:resource="#TemporalThing"/> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Interval" /> <owl:Class rdf:about="#IntervalEvent" /> </owl:unionOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#from" /> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#to" /> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> <owl:equivalentClass> <owl:Class rdf:about="&tme1;IntervalThing"/> </owl:equivalentClass> </owl:Class> <owl:Class rdf:ID="InstantEvent"> <rdfs:label>InstantEvent</rdfs:label> <rdfs:subClassOf rdf:resource="#InstantThing"/> <rdfs:subClassOf rdf:resource="#TemporalEvent"/> <owl:equivalentClass> <owl:Class rdf:about="&tme1;InstantEvent"/> </owl:equivalentClass> </owl:Class> <owl:Class rdf:ID="IntervalEvent"> <rdfs:label>IntervalEvent</rdfs:label> <rdfs:subClassOf rdf... [truncated message content] |
From: Flo L. <fl...@us...> - 2006-06-08 13:15:30
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/vocabulary In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17343/src/org/mediavirus/graphl/vocabulary Modified Files: SimpleVocabularyRegistry.java Log Message: a lot of changes done a long time ago... changelog has to be updated another time :( Index: SimpleVocabularyRegistry.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/vocabulary/SimpleVocabularyRegistry.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** SimpleVocabularyRegistry.java 18 Dec 2005 11:11:40 -0000 1.6 --- SimpleVocabularyRegistry.java 8 Jun 2006 13:15:01 -0000 1.7 *************** *** 22,26 **** Map<String, String> prefixToNamespaceMap = new HashMap<String, String>(); Map<String, String> namespaceToPrefixMap = new HashMap<String, String>(); ! /** * @see org.mediavirus.graphl.vocabulary.VocabularyRegistry#getRegisteredVocabularies() --- 22,36 ---- Map<String, String> prefixToNamespaceMap = new HashMap<String, String>(); Map<String, String> namespaceToPrefixMap = new HashMap<String, String>(); ! ! public SimpleVocabularyRegistry() { ! // TODO (Future) the whole vocab. registration should be defined in RDF files ! registerVocabulary(Graphl.getVocabulary()); ! registerVocabulary(RDF.getVocabulary()); ! registerVocabulary(RDFS.getVocabulary()); ! registerVocabulary(DC.getVocabulary()); ! registerVocabulary(FOAF.getVocabulary()); ! ! registerNamespace("ff", "http://www.funkfeuer.at/vocab#"); ! } /** * @see org.mediavirus.graphl.vocabulary.VocabularyRegistry#getRegisteredVocabularies() |