Skip to content
This repository has been archived by the owner on Mar 11, 2021. It is now read-only.

OOTOS: Implementar o mapeamento de Qualities da transformação OOTOS (para OWL) #3

Closed
freddybrasileiro opened this issue Aug 11, 2015 · 14 comments
Assignees
Milestone

Comments

@freddybrasileiro
Copy link
Contributor

No description provided.

@freddybrasileiro freddybrasileiro self-assigned this Aug 11, 2015
@tgoprince tgoprince added this to the GISSA - OWL milestone Aug 12, 2015
@tgoprince tgoprince changed the title Implementar o mapeamento de Qualities da transformação OOTOS (para OWL) OOTOS: Implementar o mapeamento de Qualities da transformação OOTOS (para OWL) Aug 12, 2015
@tgoprince
Copy link
Member

O mapeamento de qualities deve permitir manter o quality como uma classe (e seus valores nas diferentes escalas como dataProperties) ou transformá-lo diretamente para um datatypeProperty, neste caso é necessário selecionar quais escalas (dimensions ou datatypes) devem ser utilizados como referência para o tipo da datatypeProperty gerada.

@freddybrasileiro
Copy link
Contributor Author

@tgoprince, pra fechar a ideia...

Para o segundo caso, quando um Quality vai ser mapeado diretamente para uma DataProperty, temos o exemplo a seguir.

image

Digamos que decidi mapear o "Idade Atribuída" (Quality) diretamente para DataProperty. Também decidi que apenas "Ano Completo" e "Mês Completo" devem ser utilizados como referência.
O resultado em OWL deve ser uma classe "Atribuição de Idade" com as DataProperties "Idade_Atribuída.Ano_Completo" e "Idade_Atribuída.Mes_Completo".

É isso?

@tgoprince
Copy link
Member

Exato mestre Freddy!

Em quinta-feira, 13 de agosto de 2015, Freddy Brasileiro <
notifications@github.com> escreveu:

@tgoprince https://github.com/tgoprince, pra fechar a ideia...

Para o segundo caso, quando um Quality vai ser mapeado diretamente para
uma DataProperty, temos o exemplo a seguir.

[image: image]
https://cloud.githubusercontent.com/assets/5098015/9254882/5090580a-41bc-11e5-9b8d-8c3bca8d5759.png

Digamos que decidi mapear o "Idade Atribuída" (Quality) diretamente para
DataProperty. Também decidi que apenas "Ano Completo" e "Mês Completo"
devem ser utilizados como referência.
O resultado em OWL deve ser uma classe "Atribuição de Idade" com as
DataProperties "Idade_Atribuída.Ano_Completo" e
"Idade_Atribuída.Mes_Completo".

É isso?


Reply to this email directly or view it on GitHub
#3 (comment)
.

@freddybrasileiro
Copy link
Contributor Author

Massa!

Expandindo o problema... E se eu fizer a mesma configuração que descrevi anteriormente, mas com "Idade" (Quality)?
As classes "Idade Atribuída", "Idade Gestacional", "Idade Real" e "Idade no Óbito" somem?
E, agora, as classes "Atribuição de Idade", "Gestação", "Nascido" e "Óbito" devem ter os Subkinds como DataProperties?

image

@tgoprince
Copy link
Member

Eu vejo duas opções:

  1. Só deixar configurar a parametrização para os qualities conectados diretamente a alguém (como os folhas)
  2. Se eu mapear um quality "genérico", eu obrigo o mapeamento de todos os subtipos dele da mesma forma.

O que acha @freddybrasileiro ?

@freddybrasileiro
Copy link
Contributor Author

Em 1) ainda teria o caso de Idade ser conectada diretamente a alguém e também ter especializações...

Acho que 2) parece mais certo.

@tgoprince
Copy link
Member

De acordo @freddybrasileiro

freddybrasileiro added a commit that referenced this issue Aug 13, 2015
Implementing the mapping of Supressing Structured Qualities by its DataTypes
@freddybrasileiro
Copy link
Contributor Author

@tgoprince, a implementação está pronta sem seleção das escalas. Isto é, se um Quality é escolhido, todas as escalas serão levadas em consideração.

Fecho essa issue e abro outra só para a melhoria?

@tgoprince
Copy link
Member

Deixa eu testar antes @freddybrasileiro

@tgoprince
Copy link
Member

@freddybrasileiro, acho que faltou alguma checagem. Eu escolhi para esconder o quality e eles foram transformados mesmo assim.

Essa foi a configuração do OWL Settings:
screen shot 2015-08-14 at 20 01 35

Esse foi o resultado das classes geradas no protegé:
screen shot 2015-08-14 at 20 03 23

E essas foram as dataProperty geradas:
screen shot 2015-08-14 at 20 03 54

O resultado esperado seria NÃO gerar as classes "Altura" e "Peso" e gerar apenas as propriedades "Pessoa.Peso.Quilo" e "Pessoa.Altura.Centimetro".

Além disso, essas dataProperties deveriam ter Domain: Pessoa. O range delas deveria ser inferido pelo tipo da dimension. Olhando o modelo abaixo, vemos que a dimension "Centimetro" é do tipo "DecimalIntervalDimension", então o range deveria ser xsd:decimal. A dimension "Quilo" é do tipo "IntegerIntervalDimension", logo o range deveria ser xsd:integer.

screen shot 2015-08-14 at 20 06 20

Lista de possíveis dimensions:

  • Integer (interval, ordinal e rational) -> xsd:integer
  • Decimal (interval, ordinal e rational) -> xsd:decimal
  • Nominal -> xsd:string

@tgoprince
Copy link
Member

No caso da configuração abaixo:
screen shot 2015-08-14 at 20 14 22
é necessário criar objectProperties entre Pessoa e as qualities Peso e Altura. Essas devem ser criadas com subProperty de intrinsicProperty e sua inversa de bearer

resultado esperado:

  • bearer
    • ownerPeso (domain: Peso, range: Pessoa)
    • ownerAltura (domain: Altura, range: Pessoa)
  • intrinsicProperty
    • peso (domain: Pessoa, range: Peso)
    • altura (domain: Pessoa, range: Altura)

@freddybrasileiro
Copy link
Contributor Author

@tgoprince, me manda esse .menthor?

@freddybrasileiro
Copy link
Contributor Author

A última parte, sobre a criação de subPropertyOf, foi referenciada na Issue 29, já que o assunto já está sendo tratado lá.

@freddybrasileiro
Copy link
Contributor Author

@tgoprince test it

freddybrasileiro added a commit that referenced this issue Aug 17, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants