andrecastro0o / ontology2smw

automating an RDF ontology import into Semantic Mediawiki
GNU General Public License v3.0
16 stars 5 forks source link

use more annotation properties for property & class description #11

Closed StroemPhi closed 3 years ago

StroemPhi commented 3 years ago

In order to have a proper description on the pages of the imported classes and properties, the import script should also include the following annotation properties:

andrecastro0o commented 3 years ago

Hence this properties need to be queried in script SPARQL queries!

andrecastro0o commented 3 years ago

And for the overview page a query should be made for the ontologies' name.

In aeon is under https://github.com/tibonto/aeon/blob/273743d0c346dc829f90ca524e92f6d4fd5fac09/aeon.ttl#L24

PREFIX dc: <http://dublincore.org/specifications/dublin-core/dcmi-terms/2012-06-14/>
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 dcterms: <http://purl.org/dc/terms/>
PREFIX dcelements: <http://purl.org/dc/elements/1.1/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>

SELECT ?title ?description ?version
WHERE {
    ?subject dcelements:title ?title.
    OPTIONAL{?subject dcelements:description ?description.}
    OPTIONAL{?subject owl:versionInfo ?version.}
}
| title                        | description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | version  |
==========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
| "Academic Event Ontology"@en | "The Academic Event Ontology (AEON) is used to represent information regarding academic events. The ontology supports the identification, development, management, evaluation, and impact assessment of events, components of events and event series, as well as identification and reuse of works presented or developed at events. The ontology is independent of knowledge, creative domain, or topics related to events. AEON is focused on events and assumes the representation of many entities associated with events such as attendees, locations, academic works, datetimes, and processes are defined in compatible ontologies." | "v0.2.8" |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
andrecastro0o commented 3 years ago

And the ?label ?definition ?editor_note

PREFIX dc: <http://dublincore.org/specifications/dublin-core/dcmi-terms/2012-06-14/>
PREFIX ns: <http://www.w3.org/2003/06/sw-vocab-status/ns#>
PREFIX bfo: <http://purl.obolibrary.org/obo/bfo/2019-08-26/bfo.owl#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
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 aeon: <https://github.com/tibonto/aeon#>
PREFIX obda: <https://w3id.org/obda/vocabulary#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dcelements: <http://purl.org/dc/elements/1.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX iao: <http://purl.obolibrary.org/obo/iao/2020-06-10/iao.owl#>

SELECT ?subject
    #?subclassof ?smw_import_info ?smw_datatype
    ?label ?definition ?editor_note
WHERE {
    ?subject rdf:type owl:Class.
    OPTIONAL {?subject rdfs:subClassOf ?subclassof.}
    OPTIONAL {?subject aeon:SMW_import_info ?smw_import_info.}
    OPTIONAL {?subject rdfs:label ?label.}
    OPTIONAL {?subject iao:IAO_0000115 ?definition.}
    OPTIONAL {?subject iao:IAO_0000116 ?editor_note.}
    ?subject aeon:SMW_datatype ?smw_datatype. # only importing props with datatype
}
----------------------------------------------------------------------------------------
| subject            | label                                | definition | editor_note |
========================================================================================
| aeon:AEON_0000007  | "committee member role"@en           |            |             |
| obo:ICO_0000048    | "nonprofit organization"@en          |            |             |
| aeon:Subject       |                                      |            |             |
| aeon:committee     |                                      |            |             |
| obo:BFO_0000029    | "site"@en                            |            |             |
| aeon:AEON_0000025  | "event venue"@en                     |            |             |
| obo:BFO_0000023    | "Role"@en                            |            |             |
| obo:BFO_0000023    | "role"@en                            |            |             |
| aeon:AEON_0000006  | "organizer role"@en                  |            |             |
| skos:Concept       | "Concept"                            |            |             |
| aeon:AEON_0000019  | "ORCID"                              |            |             |
| aeon:AEON_0000013  | "speaker role"@en                    |            |             |
| aeon:AEON_0000008  | "committee chair role"@en            |            |             |
| aeon:AEON_0000020  | "ROR ID"                             |            |             |
| obo:BFO_0000027    | "object aggregate"@en                |            |             |
| obo:ICO_0000049    | "profit organization"@en             |            |             |
| aeon:AEON_0000021  | "WDQID"                              |            |             |
| aeon:AEON_0000012  | "reviewer role"@en                   |            |             |
| obo:BFO_0000030    | "object"@en                          |            |             |
| obo:IAO_0000578    | "centrally registered identifier"@en |            |             |
| obo:IAO_0000578    | "centrally registered identifier"@en |            |             |
| obo:IAO_0000578    | "centrally registered identifier"@en |            |             |
| obo:OBI_0000245    | "organization"@en                    |            |             |
| aeon:AEON_0000023  | "country"@en                         |            |             |
| aeon:AEON_0000022  | "city"@en                            |            |             |
| aeon:Fee           |                                      |            |             |
| aeon:AEON_0000015  | "sponsor role"@en                    |            |             |
| aeon:AEON_0000014  | "keynote speaker role"@en            |            |             |
| aeon:AEON_0000017  | "GND ID"                             |            |             |
| aeon:AEON_0000009  | "contact person role"@en             |            |             |
| aeon:AEON_0000011  | "moderator role"@en                  |            |             |
| aeon:AEON_0000001  | "academic event"@en                  |            |             |
| aeon:AEON_0000002  | "academic event series"              |            |             |
| aeon:AEON_0000024  | "state"@en                           |            |             |
| aeon:AEON_0000004  | "event type"@en                      |            |             |
| aeon:AEON_0000003  | "ConfIDent ID"@en                    |            |             |
| obo:GAZ_00000448   | "geographic location"@en             |            |             |
| aeon:AEON_0000016  | "DOI"                                |            |             |
| aeon:AEON_0000010  | "attendee role"@en                   |            |             |
| aeon:AEON_0000005  | "contributor role"@de                |            |             |
| obo:BFO_0000015    | "Process"@en                         |            |             |
| obo:BFO_0000015    | "process"@en                         |            |             |
| obo:BFO_0000015    | "Process"@en                         |            |             |
| obo:BFO_0000015    | "process"@en                         |            |             |
| obo:BFO_0000015    | "Process"@en                         |            |             |
| obo:BFO_0000015    | "process"@en                         |            |             |
| obo:NCBITaxon_9606 | "Homo sapiens"                       |            |             |
| aeon:AEON_0000018  | "ISNI"                               |            |             |
----------------------------------------------------------------------------------------
andrecastro0o commented 3 years ago

@StroemPhi if the results are correct iao:IAO_0000115 (rdfs:label 'definition') iao:IAO_0000116 (rdfs:label 'editor note') are not yet in use, right?

andrecastro0o commented 3 years ago

Integrate in fb925b7

StroemPhi commented 3 years ago

@andrecastro0o I'm still working on this issue in the correponding issue branch (https://github.com/tibonto/aeon/tree/issue-6-definitions-and-descriptions) but some already have definitionand editor note for example you can check with: obo:BFO_0000015, obo:GAZ_00000448 & obo:OBI_0000245. So it seems like they are not parsed correctly.

andrecastro0o commented 3 years ago

In SMW these properties should be mapped to SMW property [https://www.semantic-mediawiki.org/wiki/Help:Special_property_Has_property_description](Has property description::)

And value should include language code @en

andrecastro0o commented 3 years ago

Relates to https://github.com/TIBHannover/ontology2smw/issues/15

andrecastro0o commented 3 years ago

Strategy: aeon term: rdfs:label -> SMW: Has property description::

Although it would be nice to use Has preferred property label:: as mentioned in https://github.com/TIBHannover/ontology2smw/issues/15 [[Has preferred property label::]] is only effective when used in properties and Not categories. And given that AEON is currently only using Bfo subsumption hierarchy for classes we will stick to [[Has preferred property label::]]

However in the future Bfo subsumption hierarchy will be applied to some properties, hence it will need to be discussed with @StroemPhi if Has property description:: will suffice or Has preferred property label:: will be required.

andrecastro0o commented 3 years ago

implemented in https://github.com/TIBHannover/ontology2smw/commit/ad280ca7992249c1a5d651478429315d0a25a9b5