Implementering af et tagsystem

Tags:    php mysql
Skrevet af Bruger #5620 @ 09.06.2011
Artikel filer

2. Tagsæt


Denne sektion beskriver tagsætne for entiteter, det frie tagsæt og tagsættene for filtrene alle, ingen og nogle.

Et sæt er en mængde af elementer og et tagsæt er derfor en mængde af tags.

De tre biler (entiteter) i sektion 1.5. har hver deres tagsæt.


  • Bilen i figur 1.1: er en rød Ferrari sportsvogn med to sæder.

  • Bilen i figur 1.2: er en grøn Porche sportsvogn med to sæder.

  • Bilen i figur 1.3: er en grå VW familiebil med fem sæder.



Fra ovenstående beskrivelse af de tre biler kunne tagsne på en bil være dens mærke, type, farve og antallet af sæder. Dette ville give tagsættene vist i figur 2.1, som det kan ses på figuren deler Porchen og Ferrarien tags og VW har intet tilfælles med de to andre.


Figur 2.1: Tagsættene for de 3 biler.

Tagsystemet har tre filtretyper alle (include), ingen (exclude) og nogle (couldclude). Brugen af alle filtret resulterer i, at hver entitet i resultatet har mindst alle tagsne i filtret. Brugen af ingen filtret resulterer i, at hver entitet i resultatet har ingen af tagsne i filtret. Brugen af nogle filtret resulterer i, at hver entitet har mindst ét tag i filtret.

For at returnerer til eksemplet med bilerne, se figur 2.2:

  • Et alle filter bestående af tagget type.sportsvogn resulterer i et resultat med Ferrari og Porche entiterne.

  • Et ingen filter bestående af tagget sæder.to resulterer i et resultat med VW entiteten.

  • Et nogle filter bestående af tagne mærke.porche og mærke.vw resulterer i et resultat med Porche og VW entiteterne.




Figur 2.2: Filtersættene vist som blå tag for alle, rød tag ingen og de grønne for nogle.

Forklaret ud for sætteori, så er entiteterne i resultatet med alle filtret dem hvor intersektionsættet mellem filtret og entitet tagsættet er alle filtret.

Forklaret ud for sætteori, så er entiteterne i resultatet med ingen filtret dem hvor intersektionsættet mellem filtret og entitet tagsættet er det tomme sæt.

Forklaret ud for sætteori, så er entiteterne i resultatet med nogle filtret dem hvor intersektionsættet mellem filtret og entitet tagsættet ikke er det tomme sæt.

Der et sidste sæt. Sættet af tags der er frie, ikke i et filter, i entiterne resultatet. Figur 2.3 viser dette sæt når det før beskrevet nogle filter bruges.


Figur 2.3: Frie tags (blå) i resultatet når nogle filtret (grønne) bruges.

Alle og ingen sættene kombineret med det frie tags sæt kan effektivt bruges til at raffinerer søgninger. Det frie sæt vises til brugerne der så kan tilføje et eller flere tags fra dette sæt til filter sættene og dermed få et mindre resultat.

Nogle sættet kan også bruges til at raffinere søgninger mindre stringent end et alle sæt. Dog er problemet med nogle sættet at, hvis sættet kun har ét tagvirker det i realiteten som et alle sæt og derfor hvis brugeren kun kan vælge at tilføje et tag af gangen til sættet vil det første tag allerede minimere resultatet og dermed give et nyt frie tagsæt med færre tags. Den bedste måde at bruge nogle sættet på er dermed at definere hele sættet på en gang. Sættet kan i særdeleshed bruges til at finde relaterede entiteter til en given entitet. Ved at sættet for den givne entitet bruges som nogle sæt. Entiteterne i resultatet vil dermed dele ét eller flere tags med den givne entitet. Antallet af tags de deler kan udnyttes som grundlag for at ordne resultatet som mest og mindre relaterede. Entiteter der deler mange tags er mere relaterede end entiteter der deler få tags.



Vedhæftede filer:
Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.

Del også gerne artiklen med dine Facebook venner:  

Kommentarer (1)

User
Bruger #15306 @ 28.07.11 00:26
Som at give slik til små børn... Well done :)
Du skal være logget ind for at skrive en kommentar.
t