Package com.ontology2.rdf

Source Code of com.ontology2.rdf.UnderstandNodeMemoryBehavior

package com.ontology2.rdf;
import static org.junit.Assert.*;

import org.junit.Test;

import com.hp.hpl.jena.datatypes.xsd.XSDDatatype;
import com.hp.hpl.jena.graph.Node;
import com.hp.hpl.jena.graph.Triple;
import com.hp.hpl.jena.vocabulary.XSD;
import com.ontology2.rdf.Economizer;
import com.ontology2.rdf.CacheEconomizer;
import com.ontology2.rdf.TripleEconomizer;


public class UnderstandNodeMemoryBehavior {

    @Test
    public void identicallyNamedNodesAreNotSameObject() {
        Node uriA=Node.createURI("http://slashdot.org/");
        Node uriB=Node.createURI("http://slashdot.org/");
        assertTrue(uriA.equals(uriB));
        assertTrue(uriA!=uriB);
    }

    @Test
    public void theEconomizerChangesThat() {
        Economizer<Node> e=new CacheEconomizer<Node>();
        Node uriA=e.economize(Node.createURI("http://slashdot.org/"));
        Node uriB=e.economize(Node.createURI("http://slashdot.org/"));
        assertTrue(uriA==uriB);
    }

    @Test
    public void theEconomizerDoesntSquashOtherNodes() {
        Economizer<Node> e=new CacheEconomizer<Node>();
        Node uriA=e.economize(Node.createURI("http://slashdot.org/1"));
        Node uriB=e.economize(Node.createURI("http://slashdot.org/2"));
        assertTrue(uriA!=uriB);
    }

    @Test
    public void economizingTriplesEconomizesTheNodes() {
        Node s1a=Node.createURI("http://example.com/s1");
        Node s1b=Node.createURI("http://example.com/s1");
        Node p1a=Node.createURI("http://example.com/p1");
        Node p1b=Node.createURI("http://example.com/p1");
        Node o1a=Node.createLiteral("55",XSDDatatype.XSDint);
        Node o1b=Node.createLiteral("55",XSDDatatype.XSDint);

        assertTrue(o1a!=o1b);

        Triple t1=new Triple(s1a,p1a,o1a);
        Triple t2=new Triple(s1b,p1b,o1b);
        assertTrue(t1!=t2);
        assertEquals(t1,t2);

        Economizer<Triple> e=new TripleEconomizer();

        Triple t3=e.economize(t1);
        Triple t4=e.economize(t2);

        assertTrue(t3.getSubject()==t4.getSubject());
        assertTrue(t3.getObject()==t4.getObject());
        assertTrue(t3.getPredicate()==t4.getPredicate());

        assertTrue(s1a.equals(t3.getSubject()));
        assertTrue(p1a.equals(t3.getPredicate()));
        assertTrue(o1a.equals(t3.getObject()));

    }
}
TOP

Related Classes of com.ontology2.rdf.UnderstandNodeMemoryBehavior

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.