root/SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/LabeledMultiDigraph.java @ 204

リビジョン 204, 1.7 KB (コミッタ: atsuko, 10 年 前)

他サイトから利用することを想定してHTTPヘッダ追加

  • 属性 svn:mime-type の設定値 text/plain
行番号 
1/*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5package org.biohackathon.SPARQLBuilder.OWL;
6
7/**
8 *
9 * @author atsuko
10 */
11import java.util.*;
12
13
14public class LabeledMultiDigraph {
15    List<List<LabeledEdge>> adjlist;
16    List<String> labels;
17    HashMap<String,Integer> labelednodes;
18    List<Map<Integer,List<LabeledEdge>>> gadjlist; // node, node-edge list
19   
20    public class LabeledEdge{
21        Integer node;
22        String label;
23        Direction direction;
24        Integer ntriples;
25       
26        public LabeledEdge(Integer node, String label, Direction direction, Integer ntriples){
27            this.node = node;
28            this.label = label;
29            this.direction = direction;
30            this.ntriples = ntriples;
31        }
32    }
33   
34    public LabeledMultiDigraph(){
35        adjlist = new ArrayList<List<LabeledEdge>>();
36        labels = new LinkedList<String>();
37        labelednodes = new HashMap<String, Integer>();
38    }
39   
40    public void addNode(String label){
41        labelednodes.put(label, labels.size());
42        labels.add(label);
43        adjlist.add(new LinkedList<LabeledEdge>());
44        gadjlist.add(new HashMap<Integer, List<LabeledEdge>>());
45    }
46   
47    public void addEdge(Integer node1, Integer node2, String elabel, Direction direction, Integer ntriples){
48        if ( labels.size() < node1 || labels.size() < node2 ){
49            System.err.println("Error for Edge Addition: No Node for the Edge");
50            return;
51        }
52        LabeledEdge edge = new LabeledEdge(node2, elabel, direction, ntriples);
53        adjlist.get(node1).add(edge);
54        Map<Integer, List<LabeledEdge>> edges = gadjlist.get(node1);
55        //
56    }
57}
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。