Merge pull request #12 from researchobjectschema/bis-2630-fix-property

Fix name of property class
This commit is contained in:
Research Object Schema++
2026-04-28 11:45:13 +02:00
committed by GitHub
6 changed files with 91 additions and 94 deletions
@@ -186,7 +186,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Organization",
"rdfs:comment" : "Organization",
"@id" : "openBIS:hasPUBLICATION.ORGANIZATION",
@@ -216,7 +216,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Family Name",
"rdfs:comment" : "Family Name",
"@id" : "openBIS:hasPUBLICATION_CREATOR.FAMILY_NAME",
@@ -235,7 +235,7 @@
"@id" : ":Object",
"@type" : "rdfs:Class"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"@id" : "openBIS:hasSPACE",
"schema:rangeIncludes" : {
"@id" : "openBIS:Space"
@@ -250,7 +250,7 @@
"@id" : "PUBLICATION"
} ]
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Identifier Scheme",
"rdfs:comment" : "Identifier Scheme",
"@id" : "openBIS:hasPUBLICATION_PUBLISHER.IDENTIFIER_SCHEME",
@@ -264,7 +264,7 @@
"@id" : "http://datacite.org/schema/kernel-4#publisherIdentifierScheme"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Publication Identifier",
"rdfs:comment" : "Publication Identifier",
"@id" : "openBIS:hasPUBLICATION.IDENTIFIER",
@@ -291,7 +291,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Name",
"rdfs:comment" : "Name",
"@id" : "openBIS:hasNAME",
@@ -353,7 +353,7 @@
},
"@type" : "PUBLICATION"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Default collection view",
"rdfs:comment" : "Default view for experiments of the type collection",
"@id" : "openBIS:hasDEFAULT_COLLECTION_VIEW",
@@ -364,7 +364,7 @@
"@id" : "COLLECTION"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Affiliation Identifier Scheme",
"rdfs:comment" : "Affiliation Identifier Scheme",
"@id" : "openBIS:hasPUBLICATION_CREATOR.AFFILITION_IDENTIFIER_SCHEME",
@@ -375,7 +375,7 @@
"@id" : "PUBLICATION_CREATOR"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"@id" : "openBIS:hasCOLLECTION",
"schema:rangeIncludes" : {
"@id" : "openBIS:Collection"
@@ -390,7 +390,7 @@
"@id" : "PUBLICATION"
} ]
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Affiliation Identifier Scheme URI",
"rdfs:comment" : "Affiliation Identifier Scheme URI",
"@id" : "openBIS:hasPUBLICATION_CREATOR.AFFILITION_IDENTIFIER_SCHEME_URI",
@@ -419,7 +419,7 @@
"@id" : "/PUBLICATIONS/PUBLIC_REPOSITORIES",
"@type" : "openBIS:Project"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Publisher Identifier",
"rdfs:comment" : "Publisher Identifier",
"@id" : "openBIS:hasPUBLICATION_PUBLISHER.IDENTIFIER",
@@ -459,7 +459,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Description",
"rdfs:comment" : "Description",
"@id" : "openBIS:hasPUBLICATION.DESCRIPTION",
@@ -491,7 +491,7 @@
"owl:minCardinality" : 1,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Creator Identifier",
"rdfs:comment" : "Creator Identifier",
"@id" : "openBIS:hasPUBLICATION_CREATOR.IDENTIFIER",
@@ -523,7 +523,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Publication Year",
"rdfs:comment" : "Publication Year",
"@id" : "openBIS:hasPUBLICATION.PUBLICATION_YEAR",
@@ -566,7 +566,7 @@
"@id" : "PUBLICATIONS",
"@type" : "openBIS:Space"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Publisher",
"rdfs:comment" : "Publisher",
"@id" : "openBIS:hasPUBLICATION.PUBLISHER",
@@ -638,7 +638,7 @@
"owl:minCardinality" : 1,
"owl:maxCardinality" : 0
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Creators",
"rdfs:comment" : "Creators",
"@id" : "openBIS:hasPUBLICATION.CREATOR",
@@ -670,7 +670,7 @@
"@id" : "https://schema.org/Organization"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Comments",
"rdfs:comment" : "Comments log",
"@id" : "openBIS:hasXMLCOMMENTS",
@@ -681,7 +681,7 @@
"@id" : "PUBLICATION"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Given Name",
"rdfs:comment" : "Given Name",
"@id" : "openBIS:hasPUBLICATION_CREATOR.GIVEN_NAME",
@@ -718,7 +718,7 @@
"@id" : "/PUBLICATIONS/PUBLIC_REPOSITORIES/PUBLICATIONS_COLLECTION",
"@type" : "COLLECTION"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Abstract",
"rdfs:comment" : "Abstract of the publication",
"@id" : "openBIS:hasPUBLICATION.ABSTRACT",
@@ -748,7 +748,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "URL",
"rdfs:comment" : "URL",
"@id" : "openBIS:hasPUBLICATION.URL",
@@ -811,7 +811,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "openBIS Related Identifiers",
"rdfs:comment" : "openBIS Related Identifiers",
"@id" : "openBIS:hasPUBLICATION.OPENBIS_RELATED_IDENTIFIERS",
@@ -860,7 +860,7 @@
"@id" : "/PUBLICATIONS/PUBLIC_REPOSITORIES/PUBLICATIONS_CREATOR_COLLECTION",
"@type" : "COLLECTION"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Publication Status",
"rdfs:comment" : "Publication Status",
"@id" : "openBIS:hasPUBLICATION.STATUS",
@@ -876,7 +876,7 @@
"@id" : "http://datacite.org/schema/kernel-4#stateSelection"
} ]
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Default object type",
"rdfs:comment" : "Enter the code of the object type for which the collection is used",
"@id" : "openBIS:hasDEFAULT_OBJECT_TYPE",
@@ -925,7 +925,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Contributors",
"rdfs:comment" : "Contributors",
"@id" : "openBIS:hasPUBLICATION.CONTRIBUTOR",
@@ -955,7 +955,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Identifier Scheme",
"rdfs:comment" : "Identifier",
"@id" : "openBIS:hasPUBLICATION_CREATOR.IDENTIFIER_SCHEME",
@@ -966,7 +966,7 @@
"@id" : "PUBLICATION_CREATOR"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Type",
"rdfs:comment" : "Type",
"@id" : "openBIS:hasPUBLICATION.TYPE",
@@ -983,7 +983,7 @@
"@id" : "/PUBLICATIONS/PUBLIC_REPOSITORIES/PUBLICATIONS_PUBLISHER_COLLECTION",
"@type" : "COLLECTION"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Identifier Scheme URI",
"rdfs:comment" : "Identifier Scheme URI",
"@id" : "openBIS:hasPUBLICATION_PUBLISHER.IDENTIFIER_SCHEME_URI",
@@ -997,7 +997,7 @@
"@id" : "http://datacite.org/schema/kernel-4#schemeURI"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Affilition",
"rdfs:comment" : "Affiliation Identifier",
"@id" : "openBIS:hasPUBLICATION_CREATOR.AFFILITION_IDENTIFIER",
@@ -176,7 +176,7 @@
"@id" : "ro-crate-metadata.json",
"@type" : "CreativeWork"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"@id" : "openBIS:hasCOLLECTION",
"schema:rangeIncludes" : {
"@id" : "openBIS:Collection"
@@ -191,7 +191,7 @@
"@id" : "PUBLICATION"
} ]
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Identifier Scheme URI",
"rdfs:comment" : "Identifier Scheme URI",
"@id" : "openBIS:hasPUBLICATION_PUBLISHER.IDENTIFIER_SCHEME_URI",
@@ -205,7 +205,7 @@
"@id" : "http://datacite.org/schema/kernel-4#schemeURI"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "URL",
"rdfs:comment" : "URL",
"@id" : "openBIS:hasPUBLICATION.URL",
@@ -221,7 +221,7 @@
"@id" : "http://datacite.org/schema/kernel-4#url"
} ]
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Name",
"rdfs:comment" : "Name",
"@id" : "openBIS:hasNAME",
@@ -279,7 +279,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Affiliation Identifier Scheme URI",
"rdfs:comment" : "Affiliation Identifier Scheme URI",
"@id" : "openBIS:hasPUBLICATION_CREATOR.AFFILITION_IDENTIFIER_SCHEME_URI",
@@ -322,7 +322,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Publication Status",
"rdfs:comment" : "Publication Status",
"@id" : "openBIS:hasPUBLICATION.STATUS",
@@ -422,7 +422,7 @@
"@id" : "/PUBLICATIONS/PUBLIC_REPOSITORIES/PUBLICATIONS_COLLECTION",
"@type" : "COLLECTION"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Publisher Identifier",
"rdfs:comment" : "Publisher Identifier",
"@id" : "openBIS:hasPUBLICATION_PUBLISHER.IDENTIFIER",
@@ -481,7 +481,7 @@
"@id" : "/PUBLICATIONS/PUBLIC_REPOSITORIES/PUBLICATIONS_CREATOR_COLLECTION",
"@type" : "COLLECTION"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Family Name",
"rdfs:comment" : "Family Name",
"@id" : "openBIS:hasPUBLICATION_CREATOR.FAMILY_NAME",
@@ -537,7 +537,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Publication Year",
"rdfs:comment" : "Publication Year",
"@id" : "openBIS:hasPUBLICATION.PUBLICATION_YEAR",
@@ -566,7 +566,7 @@
},
"@type" : "PUBLICATION_CREATOR"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Comments",
"rdfs:comment" : "Comments log",
"@id" : "openBIS:hasXMLCOMMENTS",
@@ -593,7 +593,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Publication Identifier",
"rdfs:comment" : "Publication Identifier",
"@id" : "openBIS:hasPUBLICATION.IDENTIFIER",
@@ -617,7 +617,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Description",
"rdfs:comment" : "Description",
"@id" : "openBIS:hasPUBLICATION.DESCRIPTION",
@@ -635,7 +635,7 @@
"@id" : "https://schema.org/abstract"
} ]
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Identifier Scheme",
"rdfs:comment" : "Identifier",
"@id" : "openBIS:hasPUBLICATION_CREATOR.IDENTIFIER_SCHEME",
@@ -646,7 +646,7 @@
"@id" : "PUBLICATION_CREATOR"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Affilition",
"rdfs:comment" : "Affiliation Identifier",
"@id" : "openBIS:hasPUBLICATION_CREATOR.AFFILITION_IDENTIFIER",
@@ -682,7 +682,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Creators",
"rdfs:comment" : "Creators",
"@id" : "openBIS:hasPUBLICATION.CREATOR",
@@ -709,7 +709,7 @@
"@id" : ":Project",
"@type" : "rdfs:Class"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Affiliation Identifier Scheme",
"rdfs:comment" : "Affiliation Identifier Scheme",
"@id" : "openBIS:hasPUBLICATION_CREATOR.AFFILITION_IDENTIFIER_SCHEME",
@@ -720,7 +720,7 @@
"@id" : "PUBLICATION_CREATOR"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"@id" : "openBIS:hasSPACE",
"schema:rangeIncludes" : {
"@id" : "openBIS:Space"
@@ -735,7 +735,7 @@
"@id" : "PUBLICATION"
} ]
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Type",
"rdfs:comment" : "Type",
"@id" : "openBIS:hasPUBLICATION.TYPE",
@@ -810,7 +810,7 @@
"owl:minCardinality" : 1,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Contributors",
"rdfs:comment" : "Contributors",
"@id" : "openBIS:hasPUBLICATION.CONTRIBUTOR",
@@ -826,7 +826,7 @@
"@id" : "http://datacite.org/schema/kernel-4#doi"
} ]
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Publisher",
"rdfs:comment" : "Publisher",
"@id" : "openBIS:hasPUBLICATION.PUBLISHER",
@@ -856,7 +856,7 @@
"owl:minCardinality" : 0,
"owl:maxCardinality" : 1
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Given Name",
"rdfs:comment" : "Given Name",
"@id" : "openBIS:hasPUBLICATION_CREATOR.GIVEN_NAME",
@@ -896,7 +896,7 @@
},
"@type" : "PUBLICATION"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Identifier Scheme",
"rdfs:comment" : "Identifier Scheme",
"@id" : "openBIS:hasPUBLICATION_PUBLISHER.IDENTIFIER_SCHEME",
@@ -910,7 +910,7 @@
"@id" : "http://datacite.org/schema/kernel-4#publisherIdentifierScheme"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Default collection view",
"rdfs:comment" : "Default view for experiments of the type collection",
"@id" : "openBIS:hasDEFAULT_COLLECTION_VIEW",
@@ -924,7 +924,7 @@
"@id" : "PUBLICATIONS",
"@type" : "openBIS:Space"
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "openBIS Related Identifiers",
"rdfs:comment" : "openBIS Related Identifiers",
"@id" : "openBIS:hasPUBLICATION.OPENBIS_RELATED_IDENTIFIERS",
@@ -956,7 +956,7 @@
"@id" : "https://schema.org/Publisher"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Default object type",
"rdfs:comment" : "Enter the code of the object type for which the collection is used",
"@id" : "openBIS:hasDEFAULT_OBJECT_TYPE",
@@ -967,7 +967,7 @@
"@id" : "COLLECTION"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Organization",
"rdfs:comment" : "Organization",
"@id" : "openBIS:hasPUBLICATION.ORGANIZATION",
@@ -981,7 +981,7 @@
"@id" : "http://schema.org/Organization"
}
}, {
"@type" : "rdfs:Property",
"@type" : "rdf:Property",
"rdfs:label" : "Creator Identifier",
"rdfs:comment" : "Creator Identifier",
"@id" : "openBIS:hasPUBLICATION_CREATOR.IDENTIFIER",
@@ -997,4 +997,4 @@
"@id" : "https://schema.org/identifier"
} ]
} ]
}
}
Binary file not shown.
@@ -20,7 +20,7 @@ public class SchemaFacade implements ISchemaFacade
private final static String RDFS_CLASS = "rdfs:Class";
private final static String RDFS_PROPERTY = "rdfs:Property";
private final static String RDF_PROPERTY = "rdf:Property";
public static final String EQUIVALENT_CLASS = "owl:equivalentClass";
@@ -153,7 +153,7 @@ public class SchemaFacade implements ISchemaFacade
DataEntity.DataEntityBuilder builder = new DataEntity.DataEntityBuilder();
builder.setId(rdfsProperty.getId());
builder.addProperty("@type", RDFS_PROPERTY);
builder.addProperty("@type", RDF_PROPERTY);
builder.addProperty(RDFS_LABEL, rdfsProperty.getLabel());
builder.addProperty(RDFS_COMMENT, rdfsProperty.getComment());
@@ -321,44 +321,41 @@ public class SchemaFacade implements ISchemaFacade
entity.getProperty("@id")
.asText();
switch (type)
{
case "rdfs:Property" ->
{
PropertyType rdfsProperty = new PropertyType();
rdfsProperty.setId(resolvePrefixSingleValue(id));
if (type.equals(RDF_PROPERTY) || type.equals("rdfs:Property"))
{
PropertyType rdfsProperty = new PropertyType();
rdfsProperty.setId(resolvePrefixSingleValue(id));
rdfsProperty.setOntologicalAnnotations(
parseMultiValued(entity, EQUIVALENT_CONCEPT));
rdfsProperty.setOntologicalAnnotations(
parseMultiValued(entity, EQUIVALENT_CONCEPT));
List<String> rawRange = parseMultiValued(entity, rangeIdentifier);
List<String> rawRange = parseMultiValued(entity, rangeIdentifier);
List<IDataType> dataTypes = rawRange.stream()
.filter(LiteralType::isLiteralType)
.map(LiteralType::getByTypeName)
.filter(Objects::nonNull)
.collect(Collectors.toList());
List<IType> types = rawRange.stream()
.filter(x -> !LiteralType.isLiteralType(x))
.map(this::resolvePrefixSingleValue)
.map(classes::get)
.collect(Collectors.toList());
List<IDataType> dataTypes = rawRange.stream()
.filter(LiteralType::isLiteralType)
.map(LiteralType::getByTypeName)
.filter(Objects::nonNull)
.collect(Collectors.toList());
List<IType> types = rawRange.stream()
.filter(x -> !LiteralType.isLiteralType(x))
.map(this::resolvePrefixSingleValue)
.map(classes::get)
.collect(Collectors.toList());
dataTypes.stream().forEach(rdfsProperty::addDataType);
types.forEach(rdfsProperty::addType);
dataTypes.stream().forEach(rdfsProperty::addDataType);
types.forEach(rdfsProperty::addType);
rdfsProperty.setDomainIncludes(
parseMultiValued(entity, domainIdentifier).stream()
.map(x -> resolvePrefixSingleValue(x))
.map(classes::get).collect(
Collectors.toList()));
properties.put(resolvePrefixSingleValue(id), rdfsProperty);
rdfsProperty.setDomainIncludes(
parseMultiValued(entity, domainIdentifier).stream()
.map(x -> resolvePrefixSingleValue(x))
.map(classes::get).collect(
Collectors.toList()));
properties.put(resolvePrefixSingleValue(id), rdfsProperty);
}
}
}
for (DataEntity entity : crate.getAllDataEntities())
{
String type = entity.getProperty("@type").asText();
+6 -6
View File
@@ -17,12 +17,12 @@ ex:TypeMustBeClassShape
sh:property [
sh:path rdf:type ;
sh:or (
[ sh:in (rdfs:Class owl:restriction rdfs:Property schema:Dataset schema:CreativeWork ) ] # Case 1: type is exactly rdfs:Class
[ sh:in (rdfs:Class owl:restriction rdf:Property schema:Dataset schema:CreativeWork ) ] # Case 1: type is exactly rdfs:Class
[ sh:class rdfs:Class ] # Case 2: type is a node of type rdfs:Class
) ;
#sh:nodeKind sh:IRI ;
sh:minCount 1 ;
sh:message "type should be either rdfs:Class or owl:restriction or rdfs:Property or a valid reference to a rdfs:Class or "
sh:message "type should be either rdfs:Class or owl:restriction or rdf:Property or a valid reference to a rdfs:Class or "
] .
@@ -59,13 +59,13 @@ ex:ClassDefinitionShape a sh:NodeShape ;
#Check the shape of "owl:restriction"
ex:OwlRestrictionDefinitionShape a sh:NodeShape;
sh:targetClass owl:restriction ;
#owl:onProperty should reference a valid rdfs:Property
#owl:onProperty should reference a valid rdf:Property
sh:property [
sh:path owl:onProperty;
sh:maxCount 1;
sh:minCount 1;
sh:nodeKind sh:IRI;
sh:class rdfs:Property ;
sh:class rdf:Property ;
] ;
sh:property [
sh:path owl:minCardinality ;
@@ -81,7 +81,7 @@ ex:OwlRestrictionDefinitionShape a sh:NodeShape;
] .
ex:PropertyDefinitionShape a sh:NodeShape ;
sh:targetClass rdfs:Property ;
sh:targetClass rdf:Property ;
#sh:closed true;
#sh:ignoredProperties (rdf:type) ;
sh:property [
@@ -97,7 +97,7 @@ ex:PropertyDefinitionShape a sh:NodeShape ;
sh:path owl:equivalentProperty ;
sh:minCount 0 ;
sh:nodeKind sh:IRI ;
#sh:class rdfs:Property ;
#sh:class rdf:Property ;
] ;
sh:property [
sh:path schema:domainIncludes ;
+1 -1
View File
@@ -165,7 +165,7 @@ They also specify, which classes they can interact with.
| Type/Property | Required? | Description |
|------------------------|-----------|---------------------------------------------------------------------------------------------------------|
| @id | MUST | ID of the entry |
| @type | MUST | Is `rdfs:Property` |
| @type | MUST | Is `rdf:Property` |
| owl:equivalentProperty | MAY | Ontological annotation https://www.w3.org/TR/owl-ref/#equivalentClass-def |
| schema:domainIncludes | MUST | Describes the possible types of the subject. This can be one or many. |
| schema:rangeIncludes | MUST | Describes the possible types of the object. This can be one or many. |