Skip to content

Instantly share code, notes, and snippets.

@nichtich
Created January 20, 2011 09:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nichtich/787672 to your computer and use it in GitHub Desktop.
Save nichtich/787672 to your computer and use it in GitHub Desktop.
Quick draft for a collation ontology
#################################################################
# URI Prefixes
#################################################################
@prefix dct: <http://purl.org/dc/terms/> .
@prefix ns: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix skos: <http://www.w3.org/2008/05/skos#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xs: <http://www.w3.org/2001/XMLSchema#> .
@base <http://purl.org/ontology/collation/> .
#################################################################
# About Collation Ontology
#################################################################
<> a owl:Ontology ;
dct:title "Collation Ontology" ;
dct:description "This ontology defines some concepts to express collation types (orderings)."@en ;
owl:versionInfo "Ad-hoc demo version 2011-01-20" ;
dct:creator "Jakob Voss" .
#################################################################
# Classes
#################################################################
### http://purl.org/ontology/collation/Collation
<Collation> a owl:Class ;
rdfs:label "Collation"@en ;
rdfs:comment "Some specific method to compare values"@en ;
skos:scopeNote "To define your own collation, you must define or use a subclass"@en ;
rdfs:seeAlso <property>, <datatype>, <language> ;
rdfs:seeAlso <http://en.wikipedia.org/wiki/Collation> .
#################################################################
# Object Properties
#################################################################
### http://purl.org/ontology/collation/property
<property> a owl:ObjectProperty ;
rdfs:label "property"@en ;
rdfs:domain <Collation> ;
rdfs:range rdf:Property ;
rdfs:comment "Indicates which RDF property points to the value that should be used for comparing"@en ;
skos:scopeNote "If you define multiple valueProperties, each of them is checked, but this may result in contradictions."@en .
### http://purl.org/ontology/collation/datatype
<datatype> a owl:ObjectProperty ;
rdfs:label "datatype"@en ;
rdfs:domain <Collation> ;
rdfs:comment "Indicates which RDF datatype values must have to be comparable."@en ;
skos:scopeNote "You can define multiple datatypes (logical or)"@en ;
skos:scopeNote "Datatypes should define their ordering rules"@en ;
rdfs:seeAlso <http://www.w3.org/TR/xmlschema11-2/#rf-ordered> .
### http://purl.org/ontology/collation/language
<language> a owl:ObjectProperty ;
rdfs:label "language"@en ;
rdfs:domain <Collation> ;
rdfs:comment "Indicates which language tag values must have to be comparable."@en ;
skos:scopeNote "You can define multiple languages (logical or)"@en .
#################################################################
# Some instances
#################################################################
<NumericalCollation> a <Collation> ;
rdfs:label "numerical collation"@en ;
rdfs:comment "Sort numerically. This is only defined for numeric XSD datatypes."@en ;
<datatype> xs:decimal, xs:precisionDecimal, xs:float, xs:double, xs:int,
xs:integer, xs:nonPositiveInteger, xs:negativeInteger, xs:long,
xs:int, xs:short, xs:byte, xs:nonNegativeInteger, xs:unsignedLong,
xs:unsignedInt, xs:unsignedShort, xs:unsignedByte, xs:positiveInteger .
<GermanDIN5007-1> a <Collocation> ;
rdfs:label "German DIN 5007-1"@en ;
rdfs:comment "German alphabetical sorting rules as specified in DIN 5007-1"@en ;
<language> "de" .
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment