Schema.org: Can I use the type of Organization for a single man business? - schema.org

As a single man business, can I use the type Organization?
Currently, my website I used this JSON-LD schema to describe my business:
{
"#context":"http://schema.org",
"#type":"Organization",
"#id":"https://example.com/#organization",
"brand":{
"#type":"Brand",
"logo":"https://example.com/images/seo/home/logo.png",
"image":"https://example.com/images/seo/home/og-image.jpg"
},
"description":"..,",
"url":"https://example.com",
"foundingDate":"2019-01-01",
"logo":"https://example.com/images/seo/home/logo.png",
"image":"https://example.com/images/seo/home/og-image.jpg",
"contactPoint":[...],
"sameAs":[...]
}
{
"#context":"http://schema.org",
"#type":"WebSite",
"#id":"https://example.com",
"url":"https://example.com",
"author":{
"#type":"Organization",
"#id":"https://example.com/#organization"
}
}
I'm not sure if it is correct.

Yes (Freelancer for example). Its better to use LocalBusiness (More specific type of Organization) -and even better to use more specific type of LocalBusiness Dentist -or- RealEstateAgent for example.
Full Hierarchy example:
Thing > Organization > LocalBusiness > MedicalBusiness > Dentist
LocalBusiness subtypes **
https://schema.org/LocalBusiness#subtypes
** If your business type is not listed, choose a less specific type.
Related:
Local Business | Google Developers: https://developers.google.com/search/docs/data-types/local-business

Related

Ranking rules for camelCase attributes

I'm building an Algolia index to search through user-created communities on my site.
Just like for subreddits, the name of the communities can't contain spaces and are therefore often written by users in camelCase.
Here is an example of an object in my index:
{
"name": "headphoneAdvice",
"description": "This community is dedicated to enthusiasts and newcomers. We are all about making the right decision when purchasing new headphones."
}
Both name and description are set to be searchable attributes and i'm currently using these ranking rules :
["typo","geo","words","filters","proximity","attribute","exact","custom"]
However, this does not seem to work well with the camelCase name. For example, if I type "advice" in the search, the object above with "name": "headphonesAdvice" isn't found.
I'm guessing this is because words in camelCase are considered single words and thus do not match.
I've looked online for rules that allow indexing of camelCase attributes but couldn't find anything really.
Any ideas?
Cheers!
After asking around, found that someone at algolia thought of this and added https://www.algolia.com/doc/api-reference/api-parameters/camelCaseAttributes/ kudos!

Google DLP - Displaying the Region using InfoTypes.list()

After integrating the Google DLP API, the ListInfoTypes() currently returns the name, description, supported types of the infotypes present in the infotypes reference. Is it possible to also obtain the region for the infotypes like "Australia" or "Argentina" as a seperate field?
Currently this is my output:
"name": "AUSTRALIA_MEDICARE_NUMBER",
"displayName": "Australia medicare number",
"supportedBy": [
"INSPECT"
],
"description": "A 9-digit Australian Medicare account
I need the Region as well for example Region: "Australia" for every other infotypes.
I also got around to see locations.infoTypes.list() but I'm not sure which location I should enter in the filter to get any value.
Looking at the REST API there doesn't appear to be identifying data that can be formally used to determine the region. If we look at the InfoTypeDescription JSON structure found here:
https://cloud.google.com/dlp/docs/reference/rest/v2/ListInfoTypesResponse#InfoTypeDescription
we see that "name" is described as an "internal name of the InfoType". I wondered if we could depend on a structure of the string ... perhaps (.)*_.* as a regular expression grouping. While this might work, it shouldn't be relied upon without investigation of more samples and the docs don't describe the structure.
If you really need a solution, my recommendation would be to dump ALL the InfoTypes and then manually group the "name" fields into the regions of interest to you. You could then store this as CSV or JSON and have a reference piece of data that you could use in your app and regenerate as needed.
It's a great feature request I'll forward to the team. In the short term you can hack the name as ones that are regional will say they are in their name.

Can you list multiple features within the same Schema.org "LocationFeatureSpecification"?

I am working on Schema.org Resort schema for a ton of resorts on a travel website and am trying to find the most efficient ways of filling out the schema with regards to amenities.
The current code looks something like this:
"amenityFeature": [
{
"#type":"http://schema.org/LocationFeatureSpecification",
"name":"Spa",
"value":"true"
},
{
"#type":"http://schema.org/LocationFeatureSpecification",
"name":"Internet Access",
"value":"true"
},
{
"#type":"http://schema.org/LocationFeatureSpecification",
"name":"Tennis Courts",
"value":"true"
}
]
My question is, can I write it like this instead to shorten lines of code:
{
"#type":"http://schema.org/LocationFeatureSpecification",
"name":[
"Spa", "Internet Access", "Tennis Courts"
],
"value":"true"
}
When I test it in Google’s Structured Data Testing Tool, it doesn’t give any errors. Here is what it looks like in the SDTT when I write it the short way:
And here is what it looks like if I do it the first/long way:
If I do it the short way, I want to make sure all those items are getting listed as amenities and not just different names for the same amenity. Otherwise, I'll go the long route.
No, each LocationFeatureSpecification represents one feature:
Specifies a location feature by providing a structured value representing a feature of an accommodation as a property-value pair of varying degrees of formality.
Your second snippet would represent one feature with multiple names.

Recognize undefined Entities in Watson Conversation

Please, I wanted to know if it is possible to catch different entities on Watson conversation without defining their values.
For example, I am working on a Mobile up for room booking in my company and I can't define all the room's names so I want that my Bot recognize the name just according to the used pattern for example
"Book #room for tomorrow"
and whatever I put in place of #room it takes it as a room name.
thank you
Its now available check out https://console.bluemix.net/docs/services/conversation/entities.html#pattern-entities
A pattern must be entered as a regular expression in the field.
For instance internationalPhone: ^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$, e.g., +44 1962 815000
EDIT: The solution below still works but right now the pattern entities as discussed by Dudi are more systematic solution. Leaving this here for legacy reasons.
Right now the regexp support inside Watson Conversation Service is probably the est bet.
For your particular example, you can use the following expression inside the dialog node condition:
input.text.matches('^[bB]ook[^\w]+(\w+).+ (tomorrow|today)$')
and inside that node you can add the following regexp to node context to extract the second word (or the word after "Book") to a variable:
"room" : "<? input.text.extract('^[bB]ook[^\\w]+(\\w+).+ (tomorrow|today)$',1) ?>"
(note that in context unlike in conditions you need to actually escape \ with another \)
This will match inputs such as "book bathroom for today" or "book r101 for tomorrow".
A good place where you can try your regexp expressions is https://regex101.com/

find the customer type and direct to relevent information

I am developing a site to sell some beverages to retail customers and wholesale customers.
I want to keep a log in form in landing page which help both customers to access site according their customer type (retail or wholesale)
I used member:log in_form and check my member_group. It is “1” because I already log in into my system.
Is this possible in EE: Create a Button for retail and button for wholesale. Then when a customer click a button system pick customer choice and give access to relevant member group using code snippet below.
{if member_group == 7}
Access to Retail group
{/if: elseif member_group == 8}
Access to wholesale group
{if:else}
Welcome to our site.
{/if}
If it is not possible can you please guide me to the right track. I am new to EE.
What your suggesting is exactly the way to do it, with just a little change in the code:
{if member_group == 7}
Access to Retail group
{if:elseif member_group == 8}
Access to wholesale group
{if:else}
Welcome to our site.
{/if}
Note the change in line 3 - just a few typos.
Advanced conditionals are notoriously slow though, so look into Mark Croxton's Switchee for speed. You can more easily create entire blocks and case-test them en-masse with Switchee, and it's far faster overall than working on a per-component basis.