Com a realização deste projeto, pretende-se criar uma enciclopédia virtual sobre alojamentos turísticos com o intuito de auxiliar utilizadores no cruzamento de dados sobre alojamentos turísticos. Para isso, iremos relacionar dados com a temática de alojamentos turístico, como por exemplo: o tipo de alojamento turístico, capacidade de alojamento, quantidade de quartos, localização dos alojamentos, entre outros. Concluindo, pretende-se a construção de um perfil de aplicação para seleção informativa de alojamentos turísticos.
Nesta secção encontra-se definido o plano de trabalhos do projeto em desenvolvimento, no qual se encontra todas as tarefas realizadas para a sua conclusão, divididas em seis fases. Este auxiliará a equipa de trabalho em termos temporais, relativamente à execução das atividades definidas. O trabalho realizado vai ser acompanhado semanalmente pela docente da unidade curricular. Na tabela abaixo é possível visualizar as atividades definidas para a execução do projeto, bem como a duração das mesmas.
Tabela 1 - Lista de tarefas
Tarefas | Duração | Data de Início | Data de Fim |
---|---|---|---|
Início | 1 dia | 27/09/2018 | 27/09/2018 |
Atribuição dos Cargos | 1 dia | 27/09/2018 | 27/09/2018 |
Distribuição Tarefas | 1 dia | 27/09/2018 | 27/09/2018 |
Definir Plano do Projeto | 1 dia | 27/09/2018 | 27/09/2018 |
Plano de Projeto | 6 dias | 04/10/2018 | 11/10/2018 |
Definir Visão | 1 dia | 04/10/2018 | 11/10/2018 |
Definir objetivos | 2 dias | 04/10/2018 | 05/10/2018 |
Definir Milestones | 2 dias | 05/10/2018 | 08/10/2018 |
Definir Deliverables | 4 dias | 08/10/2018 | 11/10/2018 |
Requisitos Funcionais | 5 dias | 05/10/2018 | 11/10/2018 |
Construção modelos de casos-de-uso | 3 dias | 05/10/2018 | 09/10/2018 |
Definir requisitos funcionais | 3 dias | 09/10/2018 | 11/10/2018 |
Modelo de Domínio | 11 dias | 12/10/2018 | 26/10/2018 |
Definir termos dos dados | 5 dias | 12/10/2018 | 18/10/2018 |
Definir Modelo de Domínio | 9 dias | 16/10/2018 | 26/10/2018 |
Pre-Description set Profile | 24 dias | 29/10/2018 | 29/11/2018 |
Realização do modelo de dados detalhado | 21 dias | 29/10/2018 | 26/11/2018 |
Realização da matriz de restrições | 3 dias | 23/11/2018 | 27/11/2018 |
Description set profile | 4 dias | 26/11/2018 | 29/11/2018 |
Skos e RDF | 10 dias | 30/11/2018 | 13/12/2018 |
Definir vocabulário em skos | 5 dias | 30/11/2018 | 06/12/2018 |
Implementação registos RDF | 5 dias | 07/12/2018 | 13/12/2018 |
Final | 6 dias | 01/01/2019 | 10/01/2019 |
Elaboração do relatório final | 6 dias | 03/01/2019 | 10/01/2019 |
Video | 6 dias | 03/01/2019 | 10/01/2019 |
Entrega relatório e video | 1 dia | 10/01/2019 | 10/01/2019 |
Apresentação | 1 dia | 10/01/2019 | 10/01/2019 |
Figura 1 - Diagrama de Gantt
De seguida, apresentamos uma tabela com os milestones do projeto, incluindo uma breve descrição dos mesmos, data planeada e data efetiva.
Tabela 2 - Milestones e deliverables
Milestones | Descrição | Data Planeada | Data Efetiva |
---|---|---|---|
Entrega do Plano de Projeto | Consiste na entrega do documento de apoio que contém todas as atividades que a equipa de trabalho irá realizar ao longo do desenvolvimento do projeto. | 4/10/2018 | 4/10/2018 |
Entrega do Modelo de Domínio | Consiste na definição dos termos de dados e o modelo de domínio. | 16/10/2018 | 25/10/2018 |
Entrega Pré-DSP | Consiste na descrição do modelo de domínio e do desenvolvimento da matriz de restrições. | 06/12/2018 | 06/12/2018 |
Entrega SKOS e RDF | Desenvolver SKOS e RDF. | 20/12/2018 | 20/12/2018 |
Relatório Final | Consiste no documento onde se encontra descrito todo o trabalho realizado pela equipa de trabalho. | 09/01/2019 | 09/01/2019 |
Submissão Vídeo | Consiste na submissão do vídeo representativo do trabalho realizado. | 09/01/2019 | 09/01/2019 |
Apresentação Final | Consiste na apresentação final do trabalho desenvolvido. | 10/01/2018 | 10/01/2018 |
Na figura abaixo encontra-se o domínio de aplicação, no qual é representado os conceitos do contexto de aplicação e as relações existentes entre estes, com o intuito de facilitar a sua compreensão. Assim, é possível verificar que os principais contextos de aplicação são “Alojamento Turístico”, “Localização” e “Quarto”.
Figura 2 - Domínio de aplicação
Os requisitos de alto nível representam a lista dos requisitos funcionais e não funcionais, contudo a equipa considerou que os requisitos não funcionais não se adequam ao projeto em questão. Os requisitos funcionais apresentam-se de seguida
Para ilustrar os requisitos funcionais anteriormente definidos, de forma sistemática e intuitiva, apresenta-se um diagrama de casos de uso em notação UML. Este irá permitir uma melhor compreensão dos eventos efetuados por determinado ator e o sistema de catálogo dos alojamentos turísticos.
Seguidamente é descrito o fluxo de eventos inerentes a cada caso de uso, de forma a ilustrar uma melhor compreensão do diagrama de casos de uso.
{U.C.1.0} Efetuar pesquisas
Fluxo de eventos:
{U.C.2.0} Consultar Informação
Pré-condição: Efetuar pesquisa consoante a comparação pretendida;
Fluxo de eventos:
{U.C.3.0} Efetuar Comparações
Pré-condição:Efetuar pesquisa consoante a comparação pretendida
Fluxo de eventos:
O modelo de domínio é constituído pelas classes e as suas respetivas relações e os seus metadados que serão necessários para o desenvolvimento do MAP (Metadata Application Profile).
Na seguinte tabela encontram-se representados os vocabulários, que serão aplicados para os atributos definidos no modelo de domínio, e ainda os seus respetivos prefix, URI e uma breve descrição acerca dos mesmos.
Tabela 3 - Lista de vocabulários
Nome | Prefix | URI | Descrição |
---|---|---|---|
Dublin Core Terms | dcterms | http://dublincore.org/documents/dcmi-terms/# | “This document is an up-to-date specification of all metadata terms maintained by the Dublin Core Metadata Initiative, including properties, vocabulary encoding schemes, syntax encoding schemes, and classes.” |
The DBpedia Ontology | dbpedia-owl | http://dbpedia.org/ontology/ | “This ontology is generated from the manually created specifications in the DBpedia Mappings Wiki. Each release of this ontology corresponds to a new release of the DBpedia data set which contains instance data extracted from the different language versions of Wikipedia.” |
Schema.org vocabulary | Schema | http://schema.org/ | “Schema.org vocabulary can be used with many different encodings, including RDFa, Microdata and JSON-LD. These vocabularies cover entities, relationships between entities and actions, and can easily be extended through a well-documented extension model.” |
Accommodation Ontology Language Reference | acco | http://ontologies.sti-innsbruck.at/acco/ns.html | “The Accommodation Ontology is designed to be used in combination with GoodRelations, a standard vocabulary for the commercial aspects of offers for sale or rental. ” |
FOAF Vocabulary Specification | foaf | http://xmlns.com/foaf/spec/ | “FOAF is a project devoted to linking people and information using the Web. Regardless of whether information is in people's heads, in physical or digital documents, or in the form of factual data, it can be linked. FOAF integrates three kinds of network: social networks of human collaboration, friendship and association; representational networks that describe a simplified view of a cartoon universe in factual terms, and information networks that use Web-based linking to share independently published descriptions of this inter-connected world.” |
WGS84 Geo Positioning | geo | http://www.w3.org/2003/01/geo/wgs84_pos | “A vocabulary for representing latitude, longitude and altitude information in the WGS84 geodetic reference datum.” |
vCard Ontology | vCard | https://www.w3.org/TR/vcard-rdf/ | “The document describes a mapping of the vCard specification (RFC6350) to RDF/OWL. The goal is to promote the use of vCard for the description of people and organisations utilising semantic web techniques and allowing compatibility with traditional vCard implementations.” |
Nas tabelas abaixo encontram-se representados o mapeamento efetuado dos atributos respetivamente para cada uma das entidades definidas.
Tabela 4 - Alojamento turístico
Attribute | Vocabularies in LOV | URL | Associated Description |
---|---|---|---|
Tipo_alojamento | schema | https://schema.org/lodgingUnitType | “Textual description of the unit type “ |
Nome | foaf | http://xmlns.com/foaf/spec/#term_name | “Name for some thing” |
Cadeia | dbpedia-owl | http://dbpedia.org/ontology/chain | “The chain of Hotels this instance is associated with.” |
Num_quartos | dbpedia-owl | http://dbpedia.org/ontology/numberOfRooms | “The number of rooms.” |
Classificação | schema | https://schema.org/starRating | “An official rating for a lodging business or food establishment.” |
Tipo_pagamento | schema | https://schema.org/acceptedPaymentMethod | “The payment method(s) accepted by seller for this offer..” |
Tabela 5 - Localização
Attribute | Vocabularies in LOV | URL | Associated Description |
---|---|---|---|
País | dbpedia-owl | http://dbpedia.org/ontology/country | “The country.” |
Cidade | dbpedia-owl | http://dbpedia.org/ontology/city | “A relatively large and permanent settlement, particularly a large urban settlement.” |
Morada | dbpedia-owl | http://dbpedia.org/ontology/addressInRoad | “A building, organisation or other thing that is located in the road.” |
Código_postal | dbpedia-owl | http://dbpedia.org/ontology/postalCode | “A postal code (known in various countries as a post code, postcode, or ZIP code) is a series of letters and/or digits appended to a postal address for the purpose of sorting mail.” |
Localidade | VCard | https://www.w3.org/2006/vcard/ns#locality | “The locality.” |
Distancia_centro | schema | https://schema.org/distance | “The distance travelled, e.g. exercising or travelling.” |
Longitude | geo | http://www.w3.org/2003/01/geo/wgs84_pos# | “The longitude of a location.” |
Latitude | geo | http://www.w3.org/2003/01/geo/wgs84_pos# | “The latitutde of a location.” |
Tabela 6 - Quarto
Attribute | Vocabularies in LOV | URL | Associated Description |
---|---|---|---|
Num_camas | acco | http://purl.org/acco/ns#occupancy | “The allowed total occupancy for the accommodation in persons (including infants etc).” |
Tipo_quarto | schema | https://schema.org/typeOfBed | “The type of bed to which the BedDetail refers, i.e. the type of bed available in the quantity indicated by quantity.” |
Preço | dbpedia-owl | http://dbpedia.org/ontology/price | “The price of something.” |
Comodidade | schema | https://schema.org/amenityFeature | “An amenity feature (e.g. a characteristic or service) of the Accommodation.” |
Seguidamente encontram-se ilustradas as matrizes de restrições, nas quais é possível visualizar as restrições para cada atributo, as informações da propriedade atribuída ao mesmo, o seu domain no MAP, o seu range no MAP e a sua cardinalidade.
Tabela 7 - Alojamento turístico
Attribute | Namespace prefix | Property name | Original domain | Original range | Domain in the MAP | Range in the MAP | Cardinality |
---|---|---|---|---|---|---|---|
Tipo_alojamento | schema | lodgingUnitType | Schema:LodgingReservation | Schema:text | Schema:accommodation | Xsd:string | 1 |
Nome | foaf | name | owl:Thing | rdfs:Literal | Schema:accommodation | Xsd:String | 1 |
Cadeia | dbpedia | chain | dbo:Hotel | dbo:company | Schema:accommodation | Xsd:String | 1 |
Num_quartos | dbpedia-owl | numberOfRooms | dbo:Hotel | xsd:nonNegativeInteger | Schema:accommodation | Xsd:integer | 1 |
Classificacao | schema | starRating | Schema:LodgingBusiness | Schema:rating | Schema:accommodation | Xsd:float | 1 |
Tipo_pagamento | schema | acceptedPaymentMethod | Schema:demand,Schema:offer | Schema:PaymentMethod | Schema:accommodation | Xsd:String + vocabulário criado em Skos (http://myexample.pt/hotel/paymentmethod/) | 1 |
Tabela 8 - Localização
Attribute | Namespace prefix | Property name | Original domain | Original range | Domain in the MAP | Range in the MAP | Cardinality |
---|---|---|---|---|---|---|---|
País | dbpedia-owl | Country | owl:Thing | dbo:country | dcterms:location | Xsd:String | 1 |
Cidade | dbpedia-owl | City | owl:Thing | dbo:City | dcterms:location | Xsd:String | 1 |
Morada | dbpedia-owl | addressInRoad | dbo:Road | owl:Thing | dcterms:location | Xsd:String | 1 |
Código_postal | dbpedia-owl | postalCode | owl:Thing | xsd:string | dcterms:location | Xsd:String | 1 |
Localidade | vcard | locality | owl:DatatypeProperty | xsd:string | dcterms:location | Xsd:String | 1 |
Distancia_centro | schema | distance | Schema:TravelAction | Schema:distance | dcterms:location | Xsd:float | 1 |
Longitude | geo | longitude | geo:SpatialThing | Xsd:float | dcterms:location | Xsd:float | 1 |
Latitude | geo | latitude | geo:SpatialThing | Xsd:float | dcterms:location | Xsd:float | 1 |
Tabela 9 - Quarto
Attribute | Namespace prefix | Property name | Original domain | Original range | Domain in the MAP | Range in the MAP | Cardinality |
---|---|---|---|---|---|---|---|
Num_camas | acco | occupancy | acco:Accommodation | acco:Accommodation | schema:Room | Xsd:String | 1 |
Tipo_Quarto | schema | typeOfBed | schema:BedDetails | Schema:text | schema:Room | Xsd:String + vocabúlario criado no Skos(Http://myexample.pt/hotel/typeofRoom) | 1 |
Preço | dbpedia-owl | price | owl:Thing | currency | schema:Room | Xsd:double | 1 |
Comodidade | schema | amenityFeature | Accommodation | LocationFeatureSpecification | schema:Room | Xsd:String + vocabulário criado em Skos (http://myexample.pt/hotel/amenity/) | 1 |
<?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:acco="http://ontologies.sti-innsbruck.at/acco/ns.html" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dbpedia="http://dbpedia.org/ontology/" xmlns:schema="http://schema.org/" xmlns:geo ="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:vcard ="https://www.w3.org/2006/vcard/ns#" xmlns:dcterms ="http://dublincore.org/documents/dcmi-terms/#" > <!-- Entity: Alojamento --> <rdf:Description rdf:about="http://www.hotel-guimaraes.com"> <foaf:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Hotel Guimarães</foaf:name> <dbpedia:chain rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Hotel Guimarães</dbpedia:chain> <dbpedia:numberOfRooms rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"> 160 </dbpedia:numberOfRooms> <schema:lodgingUnitType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Hotel</schema:lodgingUnitType> <schema:starRating rdf:datatype="http://www.w3.org/2001/XMLSchema#float"> 9.1 </schema:starRating> <schema:typeofBed> <rdf:Bag> <rdf:li rdf:resource="myexample.pt/hotel/typeofRoom#02"/> <rdf:li rdf:resource="myexample.pt/hotel/typeofRoom#01"/> <rdf:li rdf:resource="myexample.pt/hotel/typeofRoom#04"/> <rdf:li rdf:resource="myexample.pt/hotel/typeofRoom#03" /> </rdf:Bag> </schema:typeofBed> <schema:acceptedPaymentMethod> <rdf:Alt> <rdf:li rdf:resource="myexample.pt/hotel/paymentMethod#01"/> <rdf:li rdf:resource="myexample.pt/hotel/paymentMethod#02"/> <rdf:li rdf:resource="myexample.pt/hotel/paymentMethod#03"/> <rdf:li rdf:resource="myexample.pt/hotel/paymentMethod#04" /> </rdf:Alt> </schema:acceptedPaymentMethod> </rdf:Description> <!-- Entity: Tipo de Quarto --> <!-- Tipo de Quarto: Twin --> <rdf:Description rdf:about="myexample.pt/hotel/typeofRoom#02"> <acco:occupancy rdf:datatype="http://www.w3.org/2001/XMLSchema#string"> 2 </acco:occupancy> <schema:typeOfBed rdf:resource="myexample.pt/hotel/typeofRoom#02"/> <dbpedia:price rdf:datatype="https://www.w3.org/2001/XMLSchema#double"> 69 </dbpedia:price> <schema:amenityFeature> <rdf:Bag> <rdf:li rdf:resource="myexample.pt/hotel/amenity#001"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#002"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#003"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#004"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#005"/> </rdf:Bag> </schema:amenityFeature> </rdf:Description> <!-- Tipo de Quarto: Duplo --> <rdf:Description rdf:about="myexample.pt/hotel/typeofRoom#03"> <acco:occupancy rdf:datatype="http://www.w3.org/2001/XMLSchema#string"> 2 </acco:occupancy> <schema:typeOfBed rdf:resource="myexample.pt/hotel/typeofRoom#03"/> <dbpedia:price rdf:datatype="https://www.w3.org/2001/XMLSchema#double"> 100 </dbpedia:price> <schema:amenityFeature> <rdf:Bag> <rdf:li rdf:resource="myexample.pt/hotel/amenity#001"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#002"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#003"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#004"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#005"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#006"/> </rdf:Bag> </schema:amenityFeature> </rdf:Description> <!-- Tipo de Quarto: Suite Deluxe --> <rdf:Description rdf:about="myexample.pt/hotel/typeofRoom#04"> <acco:occupancy rdf:datatype="http://www.w3.org/2001/XMLSchema#string"> 2 </acco:occupancy> <schema:typeOfBed rdf:resource="myexample.pt/hotel/typeofRoom#04"/> <dbpedia:price rdf:datatype="https://www.w3.org/2001/XMLSchema#double"> 175 </dbpedia:price> <schema:amenityFeature> <rdf:Bag> <rdf:li rdf:resource="myexample.pt/hotel/amenity#002"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#004"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#005"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#007"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#008"/> </rdf:Bag> </schema:amenityFeature> </rdf:Description> <!-- Tipo de Quarto: Suite Presidencial --> <rdf:Description rdf:about="myexample.pt/hotel/typeofRoom#01"> <acco:occupancy rdf:datatype="http://www.w3.org/2001/XMLSchema#string"> 2 </acco:occupancy> <schema:typeOfBed rdf:resource="myexample.pt/hotel/typeofRoom#01"/> <dbpedia:price rdf:datatype="https://www.w3.org/2001/XMLSchema#double"> 250 </dbpedia:price> <schema:amenityFeature> <rdf:Bag> <rdf:li rdf:resource="myexample.pt/hotel/amenity#001"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#002"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#003"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#004"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#005"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#007"/> <rdf:li rdf:resource="myexample.pt/hotel/amenity#006"/> </rdf:Bag> </schema:amenityFeature> </rdf:Description> </rdf:RDF>
Figura 5 - Grafo RDF Alojamento turistico & Quarto
<?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbpedia="http://dbpedia.org/ontology/" xmlns:schema="http://schema.org/" xmlns:geo ="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:vcard ="https://www.w3.org/2006/vcard/ns#" > <!-- Entity: Localizacao --> <rdf:Description rdf:about="http://www.hotel-guimaraes.com/contato-e-mapa.html"> <dbpedia:country rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Portugal</dbpedia:country> <dbpedia:city rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Guimarães</dbpedia:city> <dbpedia:addressInRoad rdf:datatype="https://www.w3.org/1999/02/22-rdf-syntax-ns#langString">Rua_Eduardo_Manuel_de_Almeida_202</dbpedia:addressInRoad> <dbpedia:postalCode rdf:datatype="http://www.w3.org/2001/XMLSchema#string">4810-440</dbpedia:postalCode> <vcard:locality rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Urgezes</vcard:locality> <schema:distance rdf:datatype="http://www.w3.org/2001/XMLSchema#string"> 6.9 km </schema:distance> <geo:longitude rdf:datatype="http://www.w3.org/2001/XMLSchema#string"> 41.4360628 </geo:longitude> <geo:latitude rdf:datatype="http://www.w3.org/2001/XMLSchema#string"> -8.2970113 </geo:latitude> </rdf:Description> </rdf:RDF>
Figura 6 - Grafo RDF Localizacao
<?xml version="1.0"?> <rdf:RDF xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:schema="http://schema.org/" xmlns:dc="http://purl.org/dc/terms/" > <skos:ConceptScheme rdf:about="http://myexample.pt/hotel/amenity/"> <dc:title>Comodidades</dc:title> <skos:hasTopConcept rdf:resource="#01"/> <skos:hasTopConcept rdf:resource="#02"/> <skos:hasTopConcept rdf:resource="#03"/> <skos:hasTopConcept rdf:resource="#04"/> <skos:hasTopConcept rdf:resource="#05"/> <skos:hasTopConcept rdf:resource="#06"/> <skos:hasTopConcept rdf:resource="#07"/> <skos:hasTopConcept rdf:resource="#08"/> <skos:hasTopConcept rdf:resource="#09"/> <skos:hasTopConcept rdf:resource="#10"/> <skos:hasTopConcept rdf:resource="#11"/> <skos:hasTopConcept rdf:resource="#12"/> </skos:ConceptScheme> <skos:Concept rdf:about="#01" xml:lang=""> <skos:prefLabel xml:lang="pt">Piscina</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/amenity/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/amenity/"/> </skos:Concept> <skos:Concept rdf:about="#02" xml:lang=""> <skos:prefLabel xml:lang="pt">Estacionamento</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/amenity/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/amenity/"/> </skos:Concept> <skos:Concept rdf:about="#03" xml:lang=""> <skos:prefLabel xml:lang="pt">Spa</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/amenity/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/amenity/"/> </skos:Concept> <skos:Concept rdf:about="#04" xml:lang=""> <skos:prefLabel xml:lang="pt">Restaurante</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/amenity/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/amenity/"/> </skos:Concept> <skos:Concept rdf:about="#05" xml:lang=""> <skos:prefLabel xml:lang="pt">bar hotel</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/amenity/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/amenity/"/> </skos:Concept> <skos:Concept rdf:about="#06" xml:lang=""> <skos:prefLabel xml:lang="pt">Ginásio</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/amenity/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/amenity/"/> </skos:Concept> <skos:Concept rdf:about="#07" xml:lang=""> <skos:prefLabel xml:lang="pt">Serviço de Quartos</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/amenity/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/amenity/"/> </skos:Concept> <skos:Concept rdf:about="#08" xml:lang=""> <skos:prefLabel xml:lang="pt">Televisão</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/amenity/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/amenity/"/> </skos:Concept> <skos:Concept rdf:about="#09" xml:lang=""> <skos:prefLabel xml:lang="pt">Telefone</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/amenity/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/amenity/"/> </skos:Concept> <skos:Concept rdf:about="#10" xml:lang=""> <skos:prefLabel xml:lang="pt">Pequeno Almoço</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/amenity/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/amenity/"/> </skos:Concept> <skos:Concept rdf:about="#11" xml:lang=""> <skos:prefLabel xml:lang="pt">Animais de Estimação</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/amenity/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/amenity/"/> </skos:Concept> <skos:Concept rdf:about="#12" xml:lang=""> <skos:prefLabel xml:lang="pt">Fumar</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/amenity/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/amenity/"/> </skos:Concept> </rdf:RDF>
Figura 7 - Grafo Skos comodidade
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:gtfs= "http://vocab.gtfs.org/terms" xmlns:dc="http://purl.org/dc/terms/" > <skos:ConceptScheme rdf:about="http://myexample.pt/hotel/typeofRoom/"> <dc:title>Tipo de Quarto</dc:title> <skos:hasTopConcept rdf:resource="#01"/> <skos:hasTopConcept rdf:resource="#02"/> <skos:hasTopConcept rdf:resource="#03"/> <skos:hasTopConcept rdf:resource="#04"/> </skos:ConceptScheme> <skos:Concept rdf:about="#01" xml:lang=""> <skos:prefLabel xml:lang="pt">Suite Presidencial</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/typeofRoom/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/typeofRoom/"/> </skos:Concept> <skos:Concept rdf:about="#02" xml:lang=""> <skos:prefLabel xml:lang="pt">Twin</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/typeofRoom/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/typeofRoom/"/> </skos:Concept> <skos:Concept rdf:about="#03" xml:lang=""> <skos:prefLabel xml:lang="pt">Duplo</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/typeofRoom/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/typeofRoom/"/> </skos:Concept> <skos:Concept rdf:about="#04" xml:lang=""> <skos:prefLabel xml:lang="pt">Suite Deluxe</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/typeofRoom/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/typeofRoom/"/> </skos:Concept> </rdf:RDF>
Figura 8 - Grafo Skos tipo de quarto
<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:gtfs= "http://vocab.gtfs.org/terms" xmlns:dc="http://purl.org/dc/terms/" > <skos:ConceptScheme rdf:about="http://myexample.pt/hotel/paymentmethod/"> <dc:title>Métodos de Pagamento</dc:title> <skos:hasTopConcept rdf:resource="#01"/> <skos:hasTopConcept rdf:resource="#02"/> <skos:hasTopConcept rdf:resource="#03"/> <skos:hasTopConcept rdf:resource="#04"/> </skos:ConceptScheme> <skos:Concept rdf:about="#01" xml:lang=""> <skos:prefLabel xml:lang="pt">Multibanco</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/paymentmethod/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/paymentmethod/"/> </skos:Concept> <skos:Concept rdf:about="#02" xml:lang=""> <skos:prefLabel xml:lang="pt">MB Way</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/paymentmethod/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/paymentmethod/"/> </skos:Concept> <skos:Concept rdf:about="#03" xml:lang=""> <skos:prefLabel xml:lang="pt">Dinheiro</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/paymentmethod/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/paymentmethod/"/> </skos:Concept> <skos:Concept rdf:about="#04" xml:lang=""> <skos:prefLabel xml:lang="pt">VISA</skos:prefLabel> <skos:inScheme rdf:resource="http://myexample.pt/hotel/paymentmethod/"/> <skos:topConceptOf rdf:resource="http://myexample.pt/hotel/paymentmethod/"/> </skos:Concept> </rdf:RDF>
Figura 9 - Grafo Skos método de pagamento
Com o desenvolvimento deste projeto, inicialmente a equipa de trabalho sentiu algumas dificuldades na criação do modelo de domínio, o qual sofreu várias alterações com o decorrer do projeto, devido à definição concreta das entidades que pretendíamos. Também sentimos dificuldades em encontrar propriedades que fossem de acordo com os nossos atributos, bem como vocabulário específico para algumas propriedades, o que nos levou à criação de vocabulário controlado em SKOS.
Em relação ao trabalho futuro, poderemos criar uma plataforma de pesquisa de alojamentos turísticos que permita também consultar e comparar.
Dados sobre alojamentos turísticos
Desenvolvimento do projeto
Batista, Ana Alice & Silva, Sara Catarina (2017). Metadata for the energy performance certificates of buildings in smart cities.
W3C. (2015). Semantic Web - Ontologies. https://www.w3.org/standards/semanticweb/ontology
Nome | Numero | N |
---|---|---|
Afonso Costa | A76399 | N - 1 |
João Carlos Cunha | A74312 | N + 1 |
Bruno Costa | A75069 | N |
João Lopes | A74355 | N - 1 |
Pedro Sousa | A76422 | N + 1 |