2016-08-24 9 views
5

Person स्कीमा के तहत, मैं प्रत्येक नौकरी शीर्षक को अपने संबंधित संगठन से जोड़ना चाहता हूं। यह एक फिर से शुरू करने की सेटिंग में है, इसलिए कई नौकरियां और कई संगठन हैं।मैं Schema.org मार्कअप में जॉब (जॉबटाइट) संगठन (वर्क्सफ़ोर) से कैसे संबंधित हूं?

यहाँ मेरी परियोजना से कुछ कोड का एक वास्तविक उदाहरण है (सामग्री + बदल काटा गया):

<div itemscope itemtype="http://schema.org/Person"> 
    … 
    <p><!--list of jobs--> 
    <span itemprop="jobTitle">Job 1</span>, 
    <span itemprop="jobTitle">Job 2</span>, and 
    <span itemprop="jobTitle">Job 3</span> 
    </p> 
    <p><!--list of places worked for--> 
    <span itemprop="worksFor">Company A</span> and 
    <span itemprop="worksFor">Company B</span> 
    </p> 
</div> 

कि रिटर्न https://search.google.com/structured-data/testing-tool/ से इस तरह एक स्कीमा:

@type Person 
jobTitle Job 1 
jobTitle Job 2 
jobTitle Job 3 
worksFor  
    @type Organization 
    name Company A 
worksFor  
    @type Organization 
    name Company B 

चलो कहते हैं कि मैं चाहता हूँ चलो जॉब्स 1 & 2 कंपनी ए के साथ होने के लिए कंपनी ए और जॉब 3 का हिस्सा बनने के लिए। मैं इसे कैसे व्यक्त करूं ताकि स्कीमा में साफ पदानुक्रम हो?

मैं समझता हूँ कि मैं itemref का विकल्प (How do I relate items in schema.org? जैसे प्रश्नों से) है, लेकिन मैं समझ नहीं jobTitle संदर्भ Organization (worksFor) बनाने के लिए एक तरह से इंजीनियर के लिए कैसे।

+0

मैं आपको जेएसओएन-एलडी में ऐसा करने के तरीके दिखा सकता हूं। यदि आप माइक्रोडाटा चाहते हैं, तो आपको इसे परिवर्तित करने की आवश्यकता होगी। क्या यह स्वीकार्य होगा? –

+0

@JayGray यह बहुत अच्छा होगा अगर आप इसे एक शॉट दे सकते हैं! इस बिंदु पर मेरे लिए कुछ भी बेहतर नहीं है, मैं वास्तव में यहां फंस गया हूं। – Steven

उत्तर

1

मुझे विश्वास नहीं है कि यह स्कीमा और Google (या कम से कम संरचित डेटा टूल) के बीच कैसे हो सकता है। मैं गलत हो सकता था, लेकिन मुझे लगता है कि समस्या यह है कि jobTitle और worksFor दोनों person पर लागू होते हैं। इसलिए Google उन दोनों विशेषताओं को व्यक्ति से संबंधित करेगा लेकिन आवश्यक रूप से दो विशेषताओं को एक-दूसरे से संबंधित नहीं करेगा।

यह भी हो सकता है कि मुझे अपने दृष्टिकोण में कुछ याद आ रहा है और यह वास्तव में संभव है। मैं अपना जवाब कम से कम आपको मार्गदर्शन करने के लिए या सही दिशा में बेहतर अनुभव वाले किसी व्यक्ति को पोस्ट करना चाहता था (या मेरे संदेह की पुष्टि)। मेरे पास दो दृष्टिकोण हैं, मेरा मानना ​​है कि माइक्रोडाटा दृष्टिकोण उपकरण में सही दिखाई देता है लेकिन गलत है। मुझे लगता है कि JSON-LD दृष्टिकोण सही है लेकिन संरचित डेटा टूल में ठीक से प्रदर्शित नहीं होता है।

माइक्रोडेटा दृष्टिकोण

आप एक हद तक डोम संशोधित कर सकते हैं, तो आप मेटा टैग घोंसला करने के लिए एक संगठन व्यक्ति के भीतर इस्तेमाल कर सकते हैं।

<div itemscope itemtype="http://schema.org/Person" id="person1"> 
    <p><!--list of jobs--> 
    <span>Job 1</span>, 
    <span>Job 2</span>, and 
    <span>Job 3</span> 
    </p> 
    <p><!--list of places worked for--> 
    <span itemscope itemprop="worksFor" itemtype="http://schema.org/Organization"> 
     <span itemprop="name">Company A</span> 
     <span itemscope itemprop="employee" itemref="person1" itemtype="http://schema.org/Person"> 
      <meta itemprop="jobTitle" content="Job 1"> 
     </span> 
    </span> and 
    <span itemscope itemprop="worksFor" itemtype="http://schema.org/Organization"> 
     <span itemprop="name">Company B</span> 
     <span itemscope itemprop="employee" itemref="person1" itemtype="http://schema.org/Person"> 
      <meta itemprop="jobTitle" content="Job 2"> 
      <meta itemprop="jobTitle" content="Job 3"> 
     </span> 
    </span> 
    </p> 
</div> 

कौन देता है:

के रूप में मुझे लगता है कि आप चाहते हैं कि हालांकि संरचित डेटा उपकरण परिणाम दिखाता है, मुझे विश्वास है डेटा वास्तव में क्योंकि कर्मचारी वास्तव में आईडी से जुड़ी नहीं है संबंधित हो जाएगा नहीं कर रहा हूँ
@type = Person 

worksFor  
    @type = Organization 
    name = Company A 

    employee  
     @type = Person 
     jobTitle = Job 1 

worksFor  
    @type = Organization 
    name = Company B 

    employee  
     @type = Person 
     jobTitle = Job 2 
     jobTitle = Job 3 

मैं Person>Organization>Employee (Person)>JobTitle घोंसले बनाने के इस संपर्क किया। मैंने मेटा टैग के साथ कर्मचारी के लिए एक खाली अवधि जोड़ा ताकि आप एक ही फ्रंट एंड शैलियों को बनाए रख सकें।

इस दृष्टिकोण के साथ मेरी चिंता यह है कि प्रत्येक Organization के तहत Employee माता-पिता Person से डिस्कनेक्ट हो जाएगा। मैंने माता-पिता पर एक आईडी का उपयोग किया और उस Employee में उस मूल आईडी को इंगित करने के लिए आइटमफ्रफ़ का उपयोग किया लेकिन मुझे यकीन नहीं है कि यह वास्तव में समर्थित है या हो सकता है कि यह घोंसला जा रहा हो (संदिग्ध) हो।

JSON-LD दृष्टिकोण

मुझे लगता है कि JSON-LD दृष्टिकोण ठीक से संगठन के व्यक्ति से संबंधित है, लेकिन अंत में गूगल के उपकरण व्यक्ति मूल रूप से आप एक ही परिणाम देने हेतु वापस jobTitle भेज दिए जाएंगे। यद्यपि डेटा को जोड़ने के लिए एक बेहतर तरीका हो सकता है।

<script type="application/ld+json"> 
     { 
     "@context": { 
      "@vocab": "http://schema.org/", 
      "id": "@id", 
      "graph": "@graph", 
      "type": "@type" 
     }, 
     "graph" : [ 
      { 
       "type": "Person", 
       "id": "Person1", 
       "name": "John Smith", 
       "worksFor" : [ 
        { 
         "id": "CompanyA" 
        }, 
        { 
         "id": "CompanyB" 
        } 
       ] 
      }, 
      { 
       "type": "Organization", 
       "id": "CompanyA", 
       "name": "Company A", 
       "employees": [ 
        { 
         "@id" : "Person1", 
         "jobTitle" : ["Job 1", "Job 2"] 
        } 
       ] 
      }, 
      { 
       "type": "Organization", 
       "id": "CompanyB", 
       "name": "Company B", 
       "employees": [ 
        { 
         "@id" : "Person1", 
         "jobTitle" : "Job 3" 
        } 
       ] 
      } 
     ] 
     } 
</script> 

जो दुर्भाग्य से प्रस्तुत करती है:

@type : http://www.example.com/Person 
@id : http://www.example.com/Person1 
name : John Smith 
jobTitle : Job 1 
jobTitle : Job 2 
jobTitle : Job 3 

worksFor  
    @type : http://www.example.com/Organization 
    @id : http://www.example.com/CompanyA 
    name : Company A 

worksFor  
    @type : http://www.example.com/Organization 
    @id : http://www.example.com/CompanyB 
    name : Company B 

संरचित डेटा उपकरण एक तरीका है कि सही लग रहा है और एक है कि गलत लग रहा है लेकिन सही लगता है में ऊपर एक विकल्प प्रस्तुत करता है, यह कहने के लिए कि किस तरह Google है कठिन है डेटा से संबंधित वास्तव में। यह भी हो सकता है कि स्कीमा/डेटा उपकरण अधिक बुनियादी स्तर पर संबंध मान लेता है, जहां आम तौर पर किसी के पास कई संगठनों में एकाधिक नौकरी शीर्षक नहीं होंगे .. लेकिन मैं बस उस बिंदु पर अनुमान लगा रहा हूं।

निष्कर्ष है - मुझे लगता है समस्या यह है कि Organization केवल एक person रूप worksFor के तहत सूचीबद्ध किया जा सकता है। jobTitle केवल person के तहत हो सकता है और Organization के तहत नहीं हो सकता है। Organization के तहत employee के रूप में संबंधित हो सकता है, लेकिन को jobTitle पर वापस person पर अज्ञात रूप से संरचित डेटा टूल में धक्का देने के लिए लगता है। संरचित डेटा टूल को अतीत में Google दस्तावेज़ों के खिलाफ कुछ त्रुटियां हैं, इसलिए मुझे यकीन नहीं है कि आप इससे जो कुछ देखते हैं उस पर 100% पर भरोसा नहीं कर सकते हैं।

संबंधित मुद्दे