Add place photos NIP, update reviews NIP

This commit is contained in:
2026-04-18 17:26:17 +04:00
parent 9075089221
commit f01b5f8faa
2 changed files with 108 additions and 33 deletions

View File

@@ -1,5 +1,7 @@
# NIP-XX: Place Reviews
`draft` `optional`
## Abstract
This NIP defines a standardized event format for decentralized place reviews using Nostr. Reviews are tied to real-world locations (e.g. OpenStreetMap POIs) via tags, and include structured, multi-aspect ratings, a binary recommendation signal, and optional contextual metadata.
@@ -11,13 +13,9 @@ The design prioritizes:
* Flexibility for different place types
* Efficient geospatial querying using geohashes
---
## Event Kind
`kind: 30315` (suggested; subject to coordination)
---
`kind: 30360`
## Tags
@@ -51,8 +49,6 @@ Examples:
["i", "osm:way:987654"]
```
---
### Geospatial Tags
#### `g` — Geohash
@@ -91,8 +87,6 @@ Geospatial queries are performed using the `g` tag.
Note: Other queries (e.g. fetching reviews for a specific place) are performed using the `i` tag and are outside the scope of geospatial querying.
---
## Content (JSON)
The event `content` MUST be valid JSON matching the following schema.
@@ -183,8 +177,6 @@ The event `content` MUST be valid JSON matching the following schema.
}
```
---
## Example
### Restaurant Review Event
@@ -232,8 +224,6 @@ The event `content` MUST be valid JSON matching the following schema.
}
```
---
## Semantics
### Ratings
@@ -248,8 +238,6 @@ The event `content` MUST be valid JSON matching the following schema.
* Clients MAY define and interpret aspect keys
* Clients SHOULD reuse commonly established aspect keys where possible
---
## Recommendation Signal
The `recommend` field represents a binary verdict:
@@ -259,8 +247,6 @@ The `recommend` field represents a binary verdict:
Clients SHOULD strongly encourage users to provide this value.
---
## Familiarity
Represents user familiarity with the place:
@@ -271,8 +257,6 @@ Represents user familiarity with the place:
Clients MAY use this signal for weighting during aggregation.
---
## Context
Optional metadata about the visit.
@@ -281,8 +265,6 @@ Optional metadata about the visit.
* `duration_minutes` represents time spent
* `party_size` indicates group size
---
## Interoperability
This specification defines a content payload only.
@@ -292,8 +274,6 @@ This specification defines a content payload only.
Content payloads SHOULD NOT include place identifiers.
---
## Rationale
### No Place Field in Content
@@ -320,8 +300,6 @@ Multiple resolutions balance:
* small event size
* early-stage discoverability
---
## Future Work
* Standardized aspect vocabularies
@@ -329,15 +307,7 @@ Multiple resolutions balance:
* Indexing/aggregation services
* Cross-protocol mappings
---
## Security Considerations
* Clients SHOULD validate all input
* Malicious or spam reviews may require external moderation or reputation systems
---
## Copyright
This NIP is public domain.