Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Online-only events#1842

Open
Aaranged opened this issue Feb 6, 2018 · 47 comments
Open

Online-only events #1842

Aaranged opened this issue Feb 6, 2018 · 47 comments
Labels
no-issue-activity Discuss has gone quiet. Auto-tagging to encourage people to re-engage with the issue (or close it!).

Comments

@Aaranged
Copy link

Aaranged commented Feb 6, 2018

schema.org currently (as far as I know) has no way of indicating that an Event is online-only. The ability to provide this information could be beneficial to data consumers, who would then be able to distinguish such virtual events from brick-and-mortar events and, if they wish, represent them differently in output products.

For example, Google expects a value for location. While this is a Google-specific requirement, in then nonetheless highlights the fact that there's no method by which could inform Google that an Event lacks a physical location.

Online events are ubiquitous and fall under many categories. Some examples:

Possible approaches

  • Add a boolean property like isOnline
  • Add a suitably modeled type that could be used as a value for location
  • Add a Event subtype like OnlineEvent (with possibly subtypes under that) - although an online event might also be a instance of a more specific type already, like BusinessEvent

To this last point see also #298, "applicability of Event to online events e.g. consider Webinar subtype", where @danbri notes that the "Event type was never meant to be so restricted" with regard to the "things with a physical location that you might attend in person".

Issues and considerations

  • An Event often takes a place at a physical location and is live-streamed. Should we take account for that?
  • An online event may have a URL that describes the event (and/or allows users to register for the event), and a different URL where the event is streamed. Does this need to be accounted for, or is url somehow sufficient here (though conceivably a registration URL could be declared using Offer)?
  • Further to the above, an online Event is often archived after the conclusion of an event at yet a different URL.
@philbarker
Copy link
Contributor

This would be relevant to online courses (or rather CourseInstances. We currently have a courseMode property which can have the value 'online'. I wouldn't mind having an OnlineEvent subtype, and using multiple types in markup for online course instances.

Putting the registration URL in the Offer would be compatible with how we dealt with Courses (though we didn't deal with registration)

With respect to your very last point, the archive recording of an event is a Creative Work; recordedIn and recordedAt can be used to link from the recording to the Event

@RichardWallis
Copy link
Contributor

This was discussed extensively, and then left hanging, in issue (#406), with the options of either new Event subtype (OnlineEvent ?), which could be used on its own or be added as an additionalType if it was an online instance of say a LiteraryEvent; or adding some form of category property for Event.

I think it may be worth resurrecting that discussion ether on that issue, or here.

@vholland
Copy link
Contributor

vholland commented Feb 6, 2018

Of these, I think OnlineEvent is best approach as it allows us to add properties relevant to online events.

If something is both an OnlineEvent and a BusinessEvent, authors should specify both types.

@danbri
Copy link
Contributor

danbri commented Feb 6, 2018

Yeah, let's get better at this. Sounds like rough consensus towards OnlineEvent so far?

@scor @rvguha @tmarshbing @nicolastorzec @tilid any thoughts?

If we do this, let's add more consistency than confusion. That means we will need:

@Aaranged
Copy link
Author

Aaranged commented Feb 6, 2018

+1 to the seeming consensus surrounding the use of OnlineEvent, especially as per the comment of @vholland it allows us to craft properties specific to online events (and, as she also says, this can be combined with other Event subtypes by employing multi-typed entities).

@nicolastorzec
Copy link
Contributor

Quickly:

  • Subclassing would work, though I'm not sure that's the best solution here.

    • Most Event subtypes don't have any specific property and are not disjoint.
    • They are more like (overlapping) tags.
  • Also +1 for cleaning and clarifying Events and associated properties.

    • Some properties (their definition) are confusing (e.g. actor, contributor, performer, director)
    • Some properties don't make fully sense in the subtypes (e.g. doorTime and location)
    • In any way, we should keep events separate from the (multiple) way(s) they are broadcasted.

@nickevansuk
Copy link

Just to bump this, we've identified the same need over here openactive/modelling-opportunity-data#71 and were also going for a subclass, however totally agree with the comment at #406 (comment) that there are already a number of subclasses for specific types of event (and we're defining more as part of OpenActive), so perhaps the solution does need to based on properties of Event instead.

@Aaranged
Copy link
Author

While I still think something like OnlineEvent could work in order to indicate and event occurs online, reviewing the current classes and subclasses, and considering the comments from @nicolastorzec and @nickevansuk, it struck me that OnlineEvent would be something of an orange in a barrel of apples.

That is, the current Event subclasses are focused on describing the event classes topically - what kind of events they are. With OnlineEvent we'd be describing instead an event's structure - how the event can be accessed.

To reiterate an point I raised in opening this issue, events are not infrequently take place both at a physical location and online, requiring (as per a comment from @vholland) - if OnlineEvent was employed - that both OnlineEvent and some other event type be specified (e.g. a New York City Ballet performance in New York that was also live-streamed would need to be both an OnlineEvent and a DanceEvent).

Which of course is readily expressible as a multi-type entity (MTE), but I've found that working with MTEs can be problematic both in terms of engineering and human classification of resources. A property-based approach suggested by @nickevansuk does seem to me to be more extensible, and would obviate the need to classify a single event of being of two Event types.

@thadguidry
Copy link
Contributor

thadguidry commented Aug 22, 2018

Hmm, no, you are not going down the rabbit hole far enough, sorry. A single property won't do. There is too much under the covers that we are forgetting about.

I feel a Type would be better. But a "better Type" for what we are trying to express.

Start with describing WHAT "online" actually means in various contexts. Here's a few...

  1. Since many Thing's can be accessed or reached Online. Some Thing's might be Online on the Internet...but Online also means "Electronic Resource" in other contexts. (a very dated term from the '70s and '80s.)
  2. It is not only about "taking place online", but also about "can be accessed online or electronically".

What if we happened to just create a new type of "OnlineThing" ?
What useful properties would some imaginary OnlineThing have that Thing does not have already ?

open_access - ???
login_needed - Boolean
login_type - (intranet, vpn, openssh, oauth, sso, token, user/password)
login_url - (this might be direct, or a gateway login first needed)
search_url - (different than url...the url that has a search capability)
registration_url -
??? what else ???

@RichardWallis
Copy link
Contributor

@thadguidry is right, there are several aspects of an online event, that could not be captured in a single property. Analogous to a [physical] location or place - where, online, it is taking place.
[web] address, isAccessibleForFree, publicAccess, are some properties that come to mind to add to those listed.

Possibly we are talking about an "OnlineLocation" as a new expected type for the location property as against an OnlineThing.

Just thinking out loud...

~Richard.

@nickevansuk
Copy link

nickevansuk commented Aug 23, 2018

+1 for something like OnlineLocation, agree there are more properties to consider and this fits nicely with the idea of describing where it is (online) and not what it is (a running group).

Also bringing in my comment from openactive/modelling-opportunity-data#71 (comment) suggest the use of the word “Virtual” instead of “Online” as it covers more use cases (AR, app-assisted competitions, streaming events). So “VirtualLocation”.

This could be applied to app-assisted running as to live-streaming fitness classes, opera or a business conference.

Why this is not a BroadcastEvent?

One thing I'd note here is that https://schema.org/BroadcastEvent already exists and links to Event via broadcastOfEvent. So it might be considered that an inverse property is all we need here (noting previous issues with @reverse) such as eventBroadcast.

One view is that virtual Events (e.g. Facebook Live events) are distinct from BroadcastEvents in that virtual events don't have a BroadcastService or any location. Although BroadcastEvent could be used more generally, looking at the properties and examples in schema.org it's clear that it has been defined for use in conjunction with a BroadcastService (e.g. a Television Channel):

        {
          "@type": "BroadcastEvent",
          "publishedOn": {
            "@type": "BroadcastService",
            "url": "http://www.bbc.co.uk/bbcone"
          },
          "startDate": "18:15, 22nd of May 2010"
        },

It's also worth noting that BroadcastEvent is still problematic for the same reason as we're discussing, as you could have a BroadcastEvent of a ComedyEvent (Edinburgh Fringe), BusinessEvent (Google I/O), and not necessarily just of a PublicationEvent. However using broadcastOfEvent the original ComedyEvent can be referenced for situations where an original event exists, which should be recommended in the examples.

From looking at the examples on schema.org, it looks more likely that broadcastOfEvent is used to link to the physical event that's being broadcast (e.g. the awards ceremony itself).

Proposal

Suggest extending location's range to include a new type VirtualLocation, and clarifying that:

  • VirtualLocation is for events that are available online across many devices, and can be participated in from anywhere (Facebook Live, live virtual competitions on running apps). This is likely to require properties like login_needed, login_type, login_url etc as per @thadguidry's comment.
  • BroadcastEvent is reserved for TV, Radio, and other media distributed via a https://schema.org/BroadcastService
  • Clarify whether or not BroadcastEvent is also used for an event "screening" where an event is physically happening somewhere and the BroadcastEvent is another way of participating in that event from an alternative physical location (e.g. a live-stream to a theatre, or the Google I/O Extended events that are "hosted by local developers all around the world" to watch the live-stream together). Looking at schema.org it is hard to tell whether this is the current intention of this type, so the description should be more specific here.
  • It should be noted that BroadcastEvent (in the physical sense of the previous bullet point) is not sufficient to indicate the event is also available online from anywhere, so the Google I/O website's live stream would need to be described using VirtualLocation separate to the list of I/O Extended BroadcastEvents which would be listed there for local participation. The properties also reflect this: a BroadcastEvent does not contain any login_url as it's a physical event that you walk into, or a TV you can turn on to a specific channel, you don't need to log in.
  • For the BBC example above, BroadcastEvent could include a VirtualLocation to allow the user to directly access the channel online (e.g. BBC One live via iPlayer), as the example above doesn't include online access details for the live stream.

Alternative Proposal

  • Given the BBC example above, a BroadcastEvent can be used instead of VirtualLocation, and https://schema.org/BroadcastService can be broadened to include more modern "channels" such as Facebook Live, Twitch, YouTube, etc.
  • Not sure if this overloading BroadcastService, and also how this would work for online events such as Google I/O or Les Mills OnDemand where the BroadcastService is whitelabeled.
  • Has the same issues with apples and oranges discussed above.
  • Prefer previous proposal.

Thoughts?

@Aaranged
Copy link
Author

+1 to VirtualLocation (aka OnlineLocation aka OnlinePlace aka VirtualPlace).

FWIW this is more-or-less what we've ended up doing at EA in order to satisfy the requirements of our competitive gaming events, which can either take place online or at brick-and-mortar locations, in the case of the former using location called "Online" of type Place (with a boolean property, isOnline set to true).

(It would be simpler to mint VirtualLocation as a subtype of Place, but that clearly wouldn't align with the description of it being "a somewhat fixed, physical extension", and there are also heaps of properties which wouldn't make any sense for this, like geo or smokingAllowed.)

@thadguidry
Copy link
Contributor

thadguidry commented Aug 23, 2018

@nickevansuk (Its best to use our mailing list for questions and rebounding... things get mixed up a lot on our issues enough already. Then when things are clear for you, you can come back to an issue and bring your well constructed opinion. Thanks!)

In this issue, I think we are discussing a proposed higher level type to capture common properties for lots of ONLINE things. Some folks are limiting the conversation to just Event subtypes and @RichardWallis is narrowing and guiding towards Location (since ONLINE implies a Place). I am proposing (and @philbarker ) that there are many more ONLINE things, like Tele-medicine, Educational courses, etc. where the Place, or as you suggest VirtualLocation, brings along many other additional properties.

I am NOT OK for using "Location" in the name of the proposed higher level type. It narrows too much for the wide usage that will be needed to capture the common properties of Access, Logins, Search, Participation, Registration, etc.

For your particular case, (and @Aaranged opening use case at the top of this issue) We already have you covered. :)

  • BroadcastEvent description already states it can be used for "online broadcast event", which means FB Live, Twitch, game channel streaming, etc. You just missed it because its generic sounding, but for good reason...any online broadcast event :)

  • Yes, BroadcastEvent can be used for saying that an event is broadcasted for viewership. Yes, it is implied that it can have audience participation or not.

  • Correct, there currently is no property on BroadcastEvent to distinguish between the 2 categories mentioned in its own description... "1. over the air" "2. online broadcast event". But that sub categorization could be handled with sameAs or additionalType or a number of other ways as well.

@nickevansuk @Aaranged given the above, let us know what other properties or relationships you cannot construct with what we currently have. Give us the use cases themselves. And preferably on our mailing list, as it will likely be a Q/A session for everyone, but its up to you.

@nickevansuk
Copy link

@Aaranged - Agreed re: subtype of Place being confusing.

Interestingly a key assumption here is that VirtualLocation might need to contain a whole bunch of new properties. Just to throw something else into the mix, potentialAction might include much of the required detail for accessing a VirtualLocation (if it's not already included in the various url properties within an Event and its Offers).

To take a practical example, describing the virtual events here: https://www.fitswarm.com.

Event actually covers everything that's required, and VirtualLocation ends up looking more like a Service (describing the fitswarm.com platform, which include pricing to join fitswarm e.g. via Offers).

So perhaps we subclass Service to create something equivalent to VirtualLocation which could be the platform which allows you to experience the Event (e.g. online channel, or fitness tracker app, or other device), broader than just BroadcastService?

Example below:

{
    "type": "SportsEvent",
    "name": "Fat burning Yoga",
    "description": "Through my teaching and practice I have experience working with many physical ailments and limitations, anxiety, insomnia, writers block, eating disorders and chronic stress, and have worked with all ages and levels of yoga experience.",
    "duration": "PT1H",
    "eventStatus": "http://schema.org/EventScheduled",
    "startDate": "2018-08-25T07:00:00Z",
    "endDate": "2018-08-25T08:00:00Z",
    "remainingAttendeeCapacity": 20,
    "maximumAttendeeCapacity": 20,
    "url": "https://www.fitswarm.com/class-details/2978/fat-burning-yoga",
    "offers": [
        {
            "type": "Offer"
            "url": "https://www.fitswarm.com/book/2978",
            "price": 8,
            "priceCurrency": "GBP",
        }
    ],
    "organizer": {
        "type": "Person",
        "name": "Kate Lister",
        "url": "http://www.misskatelister.com/yoga/"
    },
    "image": {
        "type": "ImageObject",
        "url": "https://www.fitswarm.com/files/instructors/000/000/666/239x239/1501001532_PfU0l_KLyoga-reachcrop.png"
    },
    "location": {
        "type": "VirtualLocation",
        "name": "FitSwarm",
        "url": "https://www.fitswarm.com/",
        "logo": "https://www.fitswarm.com/files/theme/000/000/001/logo.png"
    }
}

@thadguidry - apologies our messages crossed over, will continue on mailing list in future, just thought I'd post this final thought.

Using BroadcastEvent works to an extent for the simple usecase of online video streaming (with publishedOn and BroadcastService instead of location and VirtualLocation above), but not so much for app-assisted competitions etc. It also still doesn't resolve the apples and oranges issue. I understand multi-type / additionalType is one solution but that seems to have inherent limitations.

@bmerigan
Copy link

What has happened on this over the last 12 months?
I've just started investigating the use of JSON-LD and found this particular feature lacking (but required).
We have many events where the location will be online, and as noted at the start of this issue, Google expects us to supply a location tag on an event.

@lofcz
Copy link

lofcz commented Dec 18, 2019

This really needs more attention, same situation as others describe. Google doesn't recognize VirtualLocation as valid Location type yet :/

@jdevalk
Copy link
Contributor

jdevalk commented Jan 20, 2020

One more vote here to get this in, seems there's quite a bit of consensus already...

@jonoalderson
Copy link

Yes please!

@WeaverStever
Copy link

I had particular problem describing a performer in a music video that was also a scheduled broadcast event.

There is also the case of a performer who may have a residency at a club https://schema.org/Schedule might also be included?

And finally, a lot of these events become perpetual on YouTube or other hosts, so even though the event may be over, it could be useful to have an archive-url property

@vholland
Copy link
Contributor

vholland commented Mar 9, 2020

Resurrecting this discussion in light of many events moving to be online in the face of COVID-19.

It looks like we were close to agreeing on VirtualLocation with potentially properties for how to connect to the event.

It seems what remains is whether to make VirtualLocation a subtype of Place. Given how widely Place is used and the existing definition of a "fixed, physical location", perhaps it would be best to extend schema.org/location to expect VirtualLocation in addition to Place.

vholland added a commit to vholland/schemaorg that referenced this issue Mar 13, 2020
@vholland
Copy link
Contributor

As this is timely, I have put together PR #2488

@nickevansuk
Copy link

nickevansuk commented Mar 16, 2020

Exciting to see this moving! Just to promote my suggestion above: perhaps VirtualLocation should subclass Service rather than Place or Intangible? As every VirtualLocation will in fact be a "Service" where you can access the virtual event (and the service will likely have one or many of an app, website, etc).

Taking this further, perhaps we should just extend location to expect Service?

So the following subclasses of Service can then be used as the location of an Event, for example:

  • BroadcastService
  • RadioBroadcastService
  • CableOrSatelliteService
  • GovernmentService
  • WebAPI

We might then want to add a generic OnlineService to cover things like yogaia.com or a particular live streaming service ? Many virtual events will require a subscription from such a service to access, though some will be pay-per-view...

danbri pushed a commit that referenced this issue Mar 17, 2020
* Issue #2341: Added SportsTeam to the domain for gender.

* Remove file added to wrong branch.

* Issue #1842: Added VirtualLocation.
@ScaredyCat
Copy link

Which direction is this going in? Google has already started jumping on "eventAttendanceMode" (which is what led me here) but I don't want to start the process of adding it to my output if it's going to change to a virtual location.

@jonoalderson
Copy link

Yeah, the 7.0 push and Google's approach feels frustratingly inconsistent with what's been previously discussed here.

@pfrenssen
Copy link

Can this be reopened? I don't understand why this would be closed while this is not resolved and is still being actively discussed by multiple people.

@kaore
Copy link

kaore commented Oct 7, 2020

When an event is mixed, is there any guideline proposed to best describe the event? https://schema.org/Event allows for one location to be associated with the event which is fine for a fully Online or Offline event. For a mixed event, I imagine we could link the event to two locations, one VirtualLocation and one Place/Physical but I can't find anything on schema.org explicitely describing this.

Seems google just went ahead with this 2-location implementation: https://developers.google.com/search/docs/data-types/event#mixed-online-event

@RichardWallis
Copy link
Contributor

I've reopened this as it appears that it was victim to the slightly too aggressive settings on the github-actions bot.

@kaore, as multiple values are possible for all properties in Schema.org the example you reference is a valid interpretation. However, subject to further discussions around this pending term, it would be useful if some examples were posted for both VirtualLocation and and a mixed event.

@RichardWallis RichardWallis reopened this Oct 7, 2020
@kaore
Copy link

kaore commented Oct 7, 2020

@RichardWallis any reference made about the location on https://schema.org/Event is singular and the few discussions I've seen do not indicate that an Event can be described with multiple locations. Here for instance, the advice given on the same topic (2 physical locations though) is to create two Events, one for each location.

You'll find here a few events with mixed attendance. One of them is a prizes ceremony which can be attended to online as well as where the event takes place. Another is a day-long event parts of which are retransmitted online.

@WeaverStever
Copy link

WeaverStever commented Oct 9, 2020

Google Rich Snippets Example:
https://developers.google.com/search/docs/data-types/event#mixed-online-event

Note that this is a singular Event, each event should have its own URL (leaf page).
https://developers.google.com/search/docs/data-types/event#technical-guidelines

(I was doing research on event snippets when Covid struck, Google seemed to have pushed this through in a matter of days)

Mixed online and offline event

  <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Event",
      "name": "The Adventures of Kira and Morrison",
      "startDate": "2025-07-21T19:00-05:00",
      "endDate": "2025-07-21T23:00-05:00",
      "eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
      "eventStatus": "https://schema.org/EventScheduled",
      "location": [{
        "@type": "VirtualLocation",
        "url": "https://operaonline.stream5.com/"
      },
      {
        "@type": "Place",
        "name": "Snickerpark Stadium",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "100 West Snickerpark Dr",
          "addressLocality": "Snickertown",
          "postalCode": "19019",
          "addressRegion": "PA",
          "addressCountry": "US"
        }
      }],
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "description": "The Adventures of Kira and Morrison is coming to Snickertown in a can’t miss performance.",
      "offers": {
        "@type": "Offer",
        "url": "https://www.example.com/event_offer/12345_201803180430",
        "price": "30",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock",
        "validFrom": "2024-05-21T12:00"
      },
      "performer": {
        "@type": "PerformingGroup",
        "name": "Kira and Morrison"
      },
      "organizer": {
        "@type": "Organization",
        "name": "Kira and Morrison Music",
        "url": "https://kiraandmorrisonmusic.com"
      }
    }
    </script>

@dereuromark
Copy link

Given the current situation, event platforms and tools are in high demand of such a "virtual"/online addition.
👍

@RichardWallis
Copy link
Contributor

I suggest we create examples for a virtual only and a mixed online/offline event (the Google developers one?), and add them to the VirtualLocation & Event pages.

As an aside, Event already has 17 examples making it possibly a little overwhelming for some users. Maybe some culling would be in order, alongside the creation of events associated documentation providing broader guidance.

@WeaverStever
Copy link

@RichardWallis
Yes, reviewing would be a good idea before the SDTT is taken down. A recent addition to the Google guidance is "organizer" which currently only throws a warning.

Also, I believe that because of false events being posted, Google / Youtube has partnered with the following ticket vendors. It is quite likely that event markup is futile unless the tickets as being sold though a partner channel. The Rich Snippet Tool doesn't seem to even detect event markup.

Supported ticketers

  • AXS
  • Eventbrite
  • SeeTickets
  • Ticketmaster

https://support.google.com/youtube/answer/7570245?hl=en

@danbri
Copy link
Contributor

danbri commented Nov 17, 2020

release candidate wording feedback in https://lists.w3.org/Archives/Public/public-schemaorg/2020Nov/0011.html - we could improve the definition of MixedEventAttendanceMode

@RichardWallis
Copy link
Contributor

Do we consider this issue can be closed following the V11.0 release?

@osamahm
Copy link

osamahm commented Jan 20, 2021

For examples of virtual locations such as Online Streamed Events, we can have a URL field which can point towards the link to the streamed event.

Let us say we have an online streamed event which contains a URL pointing towards the link, and separate information for MeetingID/MeetingPassword

Is it possible to create a schema construction for virtualLocation events to accommodate this additional information of MeetingID/MeetingPassword?

@danhickman
Copy link

What does it take to move the VirtualLocation type and Event.eventAttendanceMode property from pending to supported? These are in use and have been needed for a while due to the pandemic but there seems to be no movement. Can we get these approved ASAP so libraries such as Schema.NET will implement them?

@nickevansuk
Copy link

nickevansuk commented Feb 26, 2021

@osamahm we have come across the same requirement.

For this we propose the following:

This would look as follows:

"location": {
  "@type": "VirtualLocation",
  "name": "Zoom Video Chat",
  "url": "https://zoom.us/j/1234567890/signup",
  "accessId" : "1234567890",
  "accessCode" : "211277",
  "description": "Please log into Zoom a few minutes before the event"
},

@HughP
Copy link

HughP commented Oct 30, 2021

@Aaranged, @vholland, @RichardWallis, @danbri I would like to add a perspective to the title here. I think that virtualLocation is really confusing for the following reasons:

  1. virtualLocation in its current form referees to the channel of communication (it is like saying this is an AT&T call).
  2. virtualLocation could be interpreted to mean a place anchored to a physical place but within a specific augmented reality universe (as in the corner of 5th ave NYC using a specific virtual reality app).
  3. virtualLocation could be virtual real-estate inside of an online only world such as a specific location in a specific minecraft world.
    I am trying to describe situation number 3 where the plots of land in virtual worlds are bought and sold (as NFTs) in online market places. Any pointers to consider in this use case are appreciated. (I have looked at gameItem).

@WeaverStever
Copy link

@HughP
Have you looked at https://schema.org/DigitalDocument?

Maybe you can shoehorn the rest of the information in to an offers property?

@HughP
Copy link

HughP commented Oct 30, 2021

@WeaverStever That is an interesting direction. If I understand you correctly, you're suggesting that an NFT is a type of digital document? It follows then that, rather than describing the thing the NFT represents, the document nature of the NFT should be described? I assume that you mean I should use the https://schema.org/additionalType property and describe the digital document as well as what the thing represents... Thereby perhaps suggesting that case number 3, Could be avoided by focusing on the real world attribute of the object being described.

virtualLocation could be virtual real-estate inside of an online only world such as a specific location in a specific minecraft world.

How would you approach case No. 2 above where there is a hybrid of a real world place and a VR environment?

I will say that most users of these digital goods are not thinking of them as digitalDocuments. But how people think about them and how machines think of them need not be the same.

@WeaverStever
Copy link

@HughP

Doesn't the NFT represent the real-world deed to the virtual property?

As for your case 2, you seem to be wanting to create a parallel to the real-world location (a geo-location) that resides within an alternate domain. May I suggest the term "neoLocation"?

@chrisspradling1980
Copy link

chrisspradling1980 commented Oct 30, 2021 via email

@ramonaspence
Copy link

Has this been implemented into Schema.org? I see where it was added as a pending item in v11 and Google has examples using virtualLocation. Where are we at in the process of implementing this?

I'm working on updating JSON+LD output for an events API, and since the COVID-19 pandemic, most of these events are online.

@nwolfersberger
Copy link

Just want to hop in on this as it seems related - at Spotify we are building an events model. We see events that may have a URL to register, and a separate one to attend - I see that reflected above. What I am less sure about how to represent is when an event takes place within a virtual world. For instance, Spotify has "islands" in Roblox that are only accessible via the app. Within said islands, which are themselves events (ex. an island is "open" for a certain amount of time), there are also performance events and meet&greets with specific performers and again while there may be a url to get to registration, attendance is within the app.

@Aaranged, @vholland, @RichardWallis, @danbri I would like to add a perspective to the title here. I think that virtualLocation is really confusing for the following reasons:

  1. virtualLocation in its current form referees to the channel of communication (it is like saying this is an AT&T call).
  2. virtualLocation could be interpreted to mean a place anchored to a physical place but within a specific augmented reality universe (as in the corner of 5th ave NYC using a specific virtual reality app).
  3. virtualLocation could be virtual real-estate inside of an online only world such as a specific location in a specific minecraft world.
    I am trying to describe situation number 3 where the plots of land in virtual worlds are bought and sold (as NFTs) in online market places. Any pointers to consider in this use case are appreciated. (I have looked at gameItem).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-issue-activity Discuss has gone quiet. Auto-tagging to encourage people to re-engage with the issue (or close it!).
Projects
None yet
Development

No branches or pull requests