-<slc = 'http://www.argeo.org/slc'>
+<slc = 'http://www.argeo.org/ns/slc'>
// AETHER
[slc:artifact] > nt:base, mix:shareable
mixin
-- slc:artifactId (STRING) primary m
+- slc:artifactId (STRING) m
- slc:groupId (STRING) m
- slc:artifactVersion (STRING) m
- slc:artifactExtension (STRING) m
- slc:artifactClassifier (STRING) ='' m a
+[slc:artifactVersionBase] > nt:base
+mixin
+- slc:artifactId (STRING) m
+- slc:groupId (STRING) m
+- slc:artifactVersion (STRING) m
+
+[slc:artifactBase] > nt:base
+mixin
+- slc:artifactId (STRING) m
+- slc:groupId (STRING) m
+
+[slc:groupBase] > nt:base
+mixin
+// it is possible to have groupBase being artifact base (e.g. org.argeo.commons.basic)
+// so using groupId would conflict
+- slc:groupBaseId (STRING) m
+
[slc:jarFile] > nt:base
mixin
- 'slc:manifest' (BINARY) m
// see http://www.osgi.org/Specifications/Reference
[slc:javaPackage] > nt:base
-- slc:name (STRING) m
+- slc:name (STRING) primary m
[slc:osgiBaseVersion] > nt:base
+- slc:asString (STRING) primary m
- slc:major (LONG) m
- slc:minor (LONG) m
- slc:micro (LONG) m
- slc:optional (BOOLEAN) ='false' m a
[slc:requiredBundle] > nt:base
-- slc:symbolicName (STRING) m
+- 'slc:symbolic-name' (STRING) primary m
- 'slc:bundle-version' (STRING) ='0.0.0' m a
- slc:optional (BOOLEAN) ='false' m a
[slc:fragmentHost] > nt:base
-- slc:symbolicName (STRING) m
+- 'slc:symbolic-name' (STRING) m
- 'slc:bundle-version' (STRING) ='0.0.0' m a
[slc:bundleNativeCode] > nt:base
-- slc:path (STRING) m
+- slc:path (STRING) primary m
- slc:osname (STRING)
- slc:processor (STRING)
// see http://www.osgi.org/Specifications/ReferenceHeaders
[slc:bundle] > nt:base
mixin
-- 'slc:Bundle-SymbolicName' (STRING) primary m
+- 'slc:symbolic-name' (STRING) primary m
+- 'slc:bundle-version' (STRING) m
+- 'slc:Bundle-SymbolicName' (STRING) m
- 'slc:Bundle-Name' (STRING)
- 'slc:Bundle-Description' (STRING)
- 'slc:Bundle-ManifestVersion' (STRING)