1 package org.simantics.graph.query;
6 public static PathRoot Root = new PathRoot("");
7 public static Path SimanticsDomain = Root.child("www.simantics.org");
11 public Path InstanceOf;
13 public Path SupertypeOf;
14 public Path SubrelationOf;
15 public Path SuperrelationOf;
16 public Path InverseOf;
17 public Path HasDatatype;
19 public Path Assertion;
20 public Path HasPredicate;
21 public Path HasObject;
23 public Path ConsistsOf;
26 public Path HasPrevious;
28 public Path HasTemplate;
29 public Path HasTemplateParameters;
30 public Path HasCardinality;
31 public Path PropertyDefinition;
32 public Path HasPropertyDefinition;
33 public Path ConcernsRelation;
34 public Path HasDomain;
38 public Path IsWeaklyRelatedTo;
39 public Path IsRelatedTo;
41 public Path HasResourceClass;
42 public Path Deprecated;
57 public Path BooleanArray;
58 public Path ByteArray;
59 public Path IntegerArray;
60 public Path LongArray;
61 public Path FloatArray;
62 public Path DoubleArray;
63 public Path StringArray;
67 public Path IntegerRange;
70 public Path List_Entry;
71 public Path List_Next;
72 public Path List_Previous;
73 public Path List_Element;
75 public Paths(String layer0Version) {
76 Layer0 = SimanticsDomain.child("Layer0-" + layer0Version);
78 InstanceOf = Layer0.child("InstanceOf");
79 Inherits = Layer0.child("Inherits");
80 SupertypeOf = Layer0.child("SupertypeOf");
81 SubrelationOf = Layer0.child("SubrelationOf");
82 SuperrelationOf = Layer0.child("SuperrelationOf");
83 InverseOf = Layer0.child("InverseOf");
84 HasDatatype = Layer0.child("HasDataType");
85 Asserts = Layer0.child("Asserts");
86 Assertion = Layer0.child("Assertion");
87 HasPredicate = Layer0.child("HasPredicate");
88 HasObject = Layer0.child("HasObject");
89 Equals = Layer0.child("Equals");
90 ConsistsOf = Layer0.child("ConsistsOf");
91 PartOf = Layer0.child("PartOf");
92 HasNext = Layer0.child("HasNext");
93 HasPrevious = Layer0.child("HasPrevious");
94 Template = Layer0.child("Template");
95 HasTemplate = Layer0.child("HasTemplate");
96 HasTemplateParameters = Layer0.child("HasTemplateParameters");
97 HasCardinality = Layer0.child("HasCardinality");
98 PropertyDefinition = Layer0.child("PropertyDefinition");
99 HasPropertyDefinition = Layer0.child("HasPropertyDefinition");
100 ConcernsRelation = Layer0.child("ConcernsRelation");
101 HasDomain = Layer0.child("HasDomain");
102 HasRange = Layer0.child("HasRange");
103 Tag = Layer0.child("Tag");
104 Entity = Layer0.child("Entity");
105 IsWeaklyRelatedTo = Layer0.child("IsWeaklyRelatedTo");
106 IsRelatedTo = Layer0.child("IsRelatedTo");
108 HasResourceClass = Layer0.child("HasResourceClass");
109 Deprecated = Layer0.child("Deprecated");
111 Library = Layer0.child("Library");
114 Literal = Layer0.child("Literal");
115 Boolean = Layer0.child("Boolean");
116 Byte = Layer0.child("Byte");
117 Integer = Layer0.child("Integer");
118 Long = Layer0.child("Long");
119 Float = Layer0.child("Float");
120 Double = Layer0.child("Double");
121 String = Layer0.child("String");
122 Variant = Layer0.child("Variant");
124 BooleanArray = Layer0.child("BooleanArray");
125 ByteArray = Layer0.child("ByteArray");
126 IntegerArray = Layer0.child("IntegerArray");
127 LongArray = Layer0.child("LongArray");
128 FloatArray = Layer0.child("FloatArray");
129 DoubleArray = Layer0.child("DoubleArray");
130 StringArray = Layer0.child("StringArray");
132 Graph = Layer0.child("Graph");
133 Datatype = Layer0.child("DataType");
134 IntegerRange = Layer0.child("IntegerRange");
136 List = Layer0.child("List");
137 List_Entry = List.child("Entry");
138 List_Next = List.child("Next");
139 List_Previous = List.child("Previous");
140 List_Element = List.child("Element");
143 public Path getPath(String url) {
144 String[] parts = url.split("/{1,2}");
145 if ( parts.length == 0 ) return null;
146 Path path = parts[0].equals("http:") ? Root : new PathRoot(parts[0]);
147 for (int i=1; i<parts.length; i++) {
148 path = path.child( parts[i] );