-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #17 from emmo-repo/cif-data-v4
Latest working CIF ontology based on the work done in #16. It implements a software tool to convert CIF -> OWL (TTL). As well as the latest use of the tool to generate the CIF Core dictionary as an OWL (TTL) ontology. It also encompasses the latest changes to the CIF top ontology.
- Loading branch information
Showing
9 changed files
with
1,296 additions
and
98 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,9 @@ | ||
*~ | ||
old | ||
|
||
ddl.dic | ||
cif_core.dic | ||
templ_attr.cif | ||
templ_enum.cif | ||
|
||
cif_core.ttl |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,12 @@ | ||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
<catalog prefer="public" xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> | ||
<group id="Folder Repository, directory=, recursive=true, Auto-Update=false, version=2" prefer="public" xml:base=""> | ||
<uri name="http://emmo.info/crystallography/0.0.1/crystallography" uri="./crystallography.ttl"/> | ||
<uri name="http://emmo.info/emmo-inferred/1.0.0-beta" uri="https://emmo-repo.github.io/versions/1.0.0-beta/emmo-inferred.ttl"/> | ||
<uri name="http://emmo.info/domain-crystallography/cif_top" uri="cif_top.ttl"/> | ||
<uri name="http://emmo.info/domain-crystallography/0.0.1/cif_top" uri="cif_top.ttl"/> | ||
<uri name="http://emmo.info/domain-crystallography/0.0.1/cif_core" uri="cif_core.ttl"/> | ||
<uri name="http://emmo.info/domain-crystallography/0.0.1/cif_example" uri="cif_example.ttl"/> | ||
<uri name="http://emmo.info/domain-crystallography/0.0.1/crystallography" uri="crystallography.ttl"/> | ||
<uri name="https://raw.githubusercontent.com/emmo-repo/emmo-repo.github.io/master/versions/1.0.0-beta/emmo-inferred-chemistry/1.0.0-beta" | ||
uri="https://raw.githubusercontent.com/emmo-repo/emmo-repo.github.io/master/versions/1.0.0-beta/emmo-inferred-chemistry2.ttl"/> | ||
</group> | ||
</catalog> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,245 @@ | ||
@prefix : <http://emmo.info/emmo/cif#> . | ||
@prefix owl: <http://www.w3.org/2002/07/owl#> . | ||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . | ||
@prefix xml: <http://www.w3.org/XML/1998/namespace> . | ||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . | ||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . | ||
@prefix skos: <http://www.w3.org/2004/02/skos/core#> . | ||
@base <http://emmo.info/emmo/cif> . | ||
|
||
<http://emmo.info/emmo/cif> rdf:type owl:Ontology ; | ||
owl:versionIRI <http://emmo.info/emmo/cif/0.0.1> ; | ||
<http://purl.org/dc/terms/abstract> "Part of the crystallography domain ontology implementing CIF 2.0 core dictionary as a formal language."@en ; | ||
<http://purl.org/dc/terms/license> "https://creativecommons.org/licenses/by/4.0/legalcode" . | ||
|
||
################################################################# | ||
# Annotation properties | ||
################################################################# | ||
|
||
### http://emmo.info/emmo/cif#_name | ||
:_name rdf:type owl:AnnotationProperty ; | ||
rdfs:comment "Name associated with a data item."@en ; | ||
rdfs:subPropertyOf skos:prefLabel ; | ||
rdfs:range xsd:string ; | ||
rdfs:domain <http://emmo.info/emmo/_type> . | ||
|
||
|
||
### http://emmo.info/emmo/cif#_unit | ||
:_unit rdf:type owl:AnnotationProperty ; | ||
rdfs:comment "Unit accociated to a data item."@en ; | ||
rdfs:range xsd:string ; | ||
rdfs:domain <http://emmo.info/emmo/_type> . | ||
|
||
|
||
### http://emmo.info/emmo/cif#example | ||
:example rdf:type owl:AnnotationProperty ; | ||
rdfs:comment "Illustrative example of how the entity is used."@en ; | ||
rdfs:subPropertyOf rdfs:comment . | ||
|
||
|
||
### http://purl.org/dc/terms/abstract | ||
<http://purl.org/dc/terms/abstract> rdf:type owl:AnnotationProperty . | ||
|
||
|
||
### http://purl.org/dc/terms/license | ||
<http://purl.org/dc/terms/license> rdf:type owl:AnnotationProperty . | ||
|
||
|
||
### http://www.w3.org/2004/02/skos/core#altLabel | ||
skos:altLabel rdf:type owl:AnnotationProperty ; | ||
rdfs:subPropertyOf rdfs:label . | ||
|
||
|
||
### http://www.w3.org/2004/02/skos/core#prefLabel | ||
skos:prefLabel rdf:type owl:AnnotationProperty ; | ||
rdfs:subPropertyOf rdfs:label . | ||
|
||
|
||
################################################################# | ||
# Object Properties | ||
################################################################# | ||
|
||
### http://emmo.info/emmo/cif#hasSpatialDirectPart | ||
:hasSpatialDirectPart rdf:type owl:ObjectProperty ; | ||
rdfs:subPropertyOf :hasSpatialPart ; | ||
rdf:type owl:InverseFunctionalProperty , | ||
owl:AsymmetricProperty , | ||
owl:IrreflexiveProperty ; | ||
rdfs:comment "A non-transitive spatial part."@en , | ||
"Direct parthood was first introduced in the European Materials & Modelling Ontology (EMMO). It allows to introduce a hierarchy of well-defined levels of granularity."@en . | ||
|
||
|
||
### http://emmo.info/emmo/cif#hasSpatialPart | ||
:hasSpatialPart rdf:type owl:ObjectProperty , | ||
owl:InverseFunctionalProperty , | ||
owl:AsymmetricProperty , | ||
owl:TransitiveProperty , | ||
owl:IrreflexiveProperty ; | ||
rdfs:comment "A part of a whole."@en , | ||
"In a 4D mereology, 'hasSpatialPart' is a relation that isolates a proper part that extends itself in time within the overall lifetime of the whole, without covering the full spatial extension of the 4D whole (i.e. is not a temporal part)."@en . | ||
|
||
|
||
################################################################# | ||
# Data properties | ||
################################################################# | ||
|
||
### http://emmo.info/emmo/cif#hasFloatData | ||
:hasFloatData rdf:type owl:DatatypeProperty ; | ||
rdfs:subPropertyOf owl:topDataProperty ; | ||
rdfs:domain :_numb ; | ||
rdfs:range xsd:double . | ||
|
||
|
||
### http://emmo.info/emmo/cif#hasSymbolData | ||
:hasSymbolData rdf:type owl:DatatypeProperty ; | ||
rdfs:subPropertyOf owl:topDataProperty ; | ||
rdfs:domain :_char ; | ||
rdfs:range xsd:string . | ||
|
||
|
||
### http://emmo.info/emmo/cif#hasUncertaintyData | ||
:hasUncertaintyData rdf:type owl:DatatypeProperty ; | ||
rdfs:subPropertyOf :hasFloatData ; | ||
rdfs:comment "Optional uncertainty associated to a CIF numb data type."@en . | ||
|
||
|
||
################################################################# | ||
# Classes | ||
################################################################# | ||
|
||
### http://emmo.info/emmo/cif#CATEGORY | ||
:CATEGORY rdf:type owl:Class ; | ||
rdfs:subClassOf :DDL_CONCEPT ; | ||
rdfs:comment "A classification of tables and its parts."@en ; | ||
skos:prefLabel "CATEGORY"@en . | ||
|
||
|
||
### http://emmo.info/emmo/cif#CIF | ||
:CIF rdf:type owl:Class ; | ||
rdfs:comment "the class of all data represented using the CIF dictionaries."@en ; | ||
skos:prefLabel "CIF"@en . | ||
|
||
|
||
### http://emmo.info/emmo/cif#CIF_DATA | ||
:CIF_DATA rdf:type owl:Class ; | ||
rdfs:subClassOf :CIF , | ||
[ rdf:type owl:Restriction ; | ||
owl:onProperty :hasSpatialDirectPart ; | ||
owl:someValuesFrom :CIF_DATA_BLOCK | ||
] ; | ||
rdfs:comment "A class representing the content of a CIF file."@en ; | ||
skos:prefLabel "CIF_DATA"@en . | ||
|
||
|
||
### http://emmo.info/emmo/cif#CIF_DATA_BLOCK | ||
:CIF_DATA_BLOCK rdf:type owl:Class ; | ||
rdfs:subClassOf :CIF , | ||
[ rdf:type owl:Restriction ; | ||
owl:onProperty :hasSpatialDirectPart ; | ||
owl:someValuesFrom :TABLE | ||
] ; | ||
rdfs:comment "A class representing a data block in a CIF file."@en ; | ||
skos:prefLabel "CIF_DATA_BLOCK"@en . | ||
|
||
|
||
### http://emmo.info/emmo/cif#COLUMN | ||
:COLUMN rdf:type owl:Class ; | ||
rdfs:subClassOf :DATA_ITEMS , | ||
[ rdf:type owl:Restriction ; | ||
owl:onProperty :hasSpatialDirectPart ; | ||
owl:someValuesFrom :_type | ||
] . | ||
|
||
|
||
### http://emmo.info/emmo/cif#DATA_ITEMS | ||
:DATA_ITEMS rdf:type owl:Class ; | ||
rdfs:subClassOf :DDL_CONCEPT ; | ||
rdfs:comment "A row, column or function in a table."@en ; | ||
skos:prefLabel "DATA_ITEMS"@en . | ||
|
||
|
||
### http://emmo.info/emmo/cif#DDL_CONCEPT | ||
:DDL_CONCEPT rdf:type owl:Class ; | ||
rdfs:subClassOf :CIF ; | ||
rdfs:comment "The class of concepts defined in the dictionary definition language."@en ; | ||
skos:prefLabel "DDL_CONCEPT"@en . | ||
|
||
|
||
### http://emmo.info/emmo/cif#FUNCTION | ||
:FUNCTION rdf:type owl:Class ; | ||
rdfs:subClassOf :DATA_ITEMS . | ||
|
||
|
||
### http://emmo.info/emmo/cif#ROW | ||
:ROW rdf:type owl:Class ; | ||
rdfs:subClassOf :DATA_ITEMS , | ||
[ rdf:type owl:Restriction ; | ||
owl:onProperty :hasSpatialDirectPart ; | ||
owl:someValuesFrom :_type | ||
] ; | ||
rdfs:comment "Represents a single row in a table with data items as direct parts."@en . | ||
|
||
|
||
### http://emmo.info/emmo/cif#TABLE | ||
:TABLE rdf:type owl:Class ; | ||
rdfs:subClassOf :DDL_CONCEPT , | ||
[ rdf:type owl:Restriction ; | ||
owl:onProperty :hasSpatialDirectPart ; | ||
owl:someValuesFrom :ROW | ||
] ; | ||
:example """Syntactically a table instance in a CIF file may be written as | ||
loop_ | ||
_space_group_symop_id | ||
_space_group_symop_operation_xyz | ||
1 x,y,z | ||
2 -x,-y,-z | ||
3 -x,1/2+y,1/2-z | ||
4 x,1/2-y,1/2+z | ||
but the actual TABLE instance is just the data rows: | ||
1 x,y,z | ||
2 -x,-y,-z | ||
3 -x,1/2+y,1/2-z | ||
4 x,1/2-y,1/2+z"""@en ; | ||
rdfs:comment "Represent a table with rows as spatial direct parts."@en , | ||
"The syntax of individual tables starts with the 'loop_' keyword followed by the name of the data items and then the actual data."@en ; | ||
skos:prefLabel "TABLE"@en . | ||
|
||
|
||
### http://emmo.info/emmo/cif#_char | ||
:_char rdf:type owl:Class ; | ||
rdfs:subClassOf :_type ; | ||
skos:prefLabel "A symbolic data type whos individuals are strings."@en , | ||
"char"@en . | ||
|
||
|
||
### http://emmo.info/emmo/cif#_null | ||
:_null rdf:type owl:Class ; | ||
rdfs:subClassOf :_type ; | ||
skos:prefLabel "null"@en . | ||
|
||
|
||
### http://emmo.info/emmo/cif#_numb | ||
:_numb rdf:type owl:Class ; | ||
rdfs:subClassOf :_type ; | ||
rdfs:comment "A floating point data type with an optional associated uncertainty."@en ; | ||
skos:prefLabel "numb"@en . | ||
|
||
|
||
### http://emmo.info/emmo/cif#_type | ||
:_type rdf:type owl:Class ; | ||
rdfs:subClassOf :DDL_CONCEPT ; | ||
rdfs:comment "Data items correspond to a type. Its individuals are the actual data strings or numbers."@en ; | ||
skos:prefLabel "DATA_ITEM"@en . | ||
|
||
|
||
### http://emmo.info/emmo/cif#enumeration | ||
:enumeration rdf:type owl:Class ; | ||
rdfs:subClassOf :_char ; | ||
rdfs:comment "A subclass of `char` whos individuals is one of a limited set of pre-defined strings."@en ; | ||
skos:prefLabel "enumeration"@en . | ||
|
||
|
||
### Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi |
Oops, something went wrong.