diff --git a/public/instance/schema/diglib-rightsmd.rnc b/public/instance/schema/diglib-rightsmd.rnc
index b31c0b3b6b6ce0f1aa2c06fbb17df14626dde8d9..47c24cb381124b39618a1404b42c7f000a932756 100644
--- a/public/instance/schema/diglib-rightsmd.rnc
+++ b/public/instance/schema/diglib-rightsmd.rnc
@@ -1,7 +1,7 @@
 # Administrative Metadaten
 #
 # Autor: David Maus <maus@hab.de>
-# Timestamp: <2018-11-07 11:33:59 maus>
+# Timestamp: <2019-01-16 12:17:50 maus>
 #
 
 namespace dct = "http://purl.org/dc/terms/"
@@ -11,42 +11,18 @@ namespace owl = "http://www.w3.org/2002/07/owl#"
 namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 namespace skos = "http://www.w3.org/2004/02/skos/core#"
 
+include "shared-dc.rnc"
+
 start = element rdf:Description {
    element dct:relation {
       element foaf:Project {
          model.Entity
       }
    }?
- & element dct:rightsHolder {
-    element dct:Agent {
-       model.Entity
-    }
- }?
- & element dct:rights {
-    element dct:RightsStatement {
-       model.Entity
-    }
- }?
- & element dct:license {
-    element dct:LicenseDocument {
-       model.Entity
-    }
- }?
+ & property.rightsHolder?
+ & property.rights?
+ & property.license?
  & element marcrel:fnd {
-    element dct:Agent {
-       model.Entity
-    }
+    entity.Agent
  }*
 }
-
-model.Entity =
-   element owl:sameAs {
-      attribute rdf:resource { xsd:anyURI }
-   }*
- & element foaf:homepage {
-    attribute rdf:resource { xsd:anyURI }
- }?
- & element skos:prefLabel {
-    attribute xml:lang { xsd:language }?
-  & text
- }+
\ No newline at end of file
diff --git a/public/instance/schema/shared-dc.rnc b/public/instance/schema/shared-dc.rnc
new file mode 100644
index 0000000000000000000000000000000000000000..5603132498e710e62c873aec2eb654b37e84dc2e
--- /dev/null
+++ b/public/instance/schema/shared-dc.rnc
@@ -0,0 +1,52 @@
+# Wiederverwendbare Definition von Eigenschaften aus Dublin Core Qualified
+#
+# Autor: David Maus <maus@hab.de>
+# Timestamp: <2019-01-16 12:17:44 maus>
+#
+
+namespace dct = "http://purl.org/dc/terms/"
+namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+namespace owl = "http://www.w3.org/2002/07/owl#"
+namespace skos = "http://www.w3.org/2004/02/skos/core#"
+
+property.license =
+   element dct:license {
+      element dct:LicenseDocument {
+         model.Entity
+      }
+   }
+
+property.rights =
+   element dct:rights {
+      element dct:RightsStatement {
+         model.Entity
+      }
+   }
+
+property.rightsHolder =
+   element dct:rightsHolder {
+      entity.Agent
+   }
+
+entity.Agent =
+   element dct:Agent {
+      model.Entity
+   }
+
+property.label =
+   element skos:prefLabel {
+      attribute xml:lang { xsd:language }?
+    & text
+   }
+
+model.Entity = ( model.internalEntity | model.externalEntity )
+
+model.internalEntity =
+   attribute rdf:about { xsd:anyURI }?
+ & property.label
+
+model.externalEntity =
+   element owl:sameAs {
+      attribute rdf:resource { xsd:anyURI }
+   }*
+ & property.label